2015-05-17 1 views
5

Я пишу данные в базу данных sqlite, но поскольку набор данных очень велик, я разбиваю процесс на пять частей. В результате я пишу одновременно пять разных баз данных sqlite, каждый из которых имеет одинаковые имена столбцов, и в конце концов, я хочу добавить пять таблиц в пять баз данных вместе в одну таблицу. Каков способ сделать это?sqlite добавить две таблицы из двух баз данных, которые имеют ту же самую схему

ответ

6

Вы можете использовать ATTACH, чтобы содержимое другого файла базы данных доступны в той же связи: (. Основная база данных всегда называется main, открывая новое соединение с базой данных является эквивалентом ATTACH "filename" AS main)

ATTACH "/some/where/db2.sqlite" AS db2; 
INSERT INTO main.MyTable SELECT * FROM db2.MyTable; 

1

Вы можете использовать UNION или UNION ALL объединить 2 или более запросов.

Что-то вроде:

SELECT Field1, Field2, Field3 FROM Table1 
UNION 
SELECT Field1, Field2, Field3 FROM Table2 

Вы можете использовать INSERT INTO NewTableName (SELECT ...), чтобы создать новую таблицу из этого союза.

ВСЕ вариант СОЕДИНЕНИЕ пункта в включает в себя (в конечном итоге) дублировать записи.

Смежные вопросы