Piszę dane do bazy danych sqlite, ale ponieważ zbiór danych jest bardzo duży, dzielę ten proces na pięć części. W związku z tym piszę do pięciu różnych baz danych sqlite w tym samym czasie, z których każdy ma te same nazwy kolumn, a na koniec chcę dołączyć pięć tabel w pięciu bazach danych do jednej tabeli. Jak to zrobić?sqlite dołączyć dwie tabele z dwóch baz danych, które mają ten sam schemat
5
A
Odpowiedz
6
Można użyć ATTACH aby zawartość innego pliku bazy danych dostępne w tym samym połączeniu: (. Głównym baza danych jest zawsze o nazwie main
; otwarcie nowego połączenia z bazą danych jest równoznaczne z ATTACH "filename" AS main
)
ATTACH "/some/where/db2.sqlite" AS db2;
INSERT INTO main.MyTable SELECT * FROM db2.MyTable;
1
Można użyć UNION lub UNION ALL scalić 2 lub więcej zapytań.
Coś jak:
SELECT Field1, Field2, Field3 FROM Table1
UNION
SELECT Field1, Field2, Field3 FROM Table2
Można użyć INSERT INTO NewTableName (SELECT ...)
aby utworzyć nową tabelę z tego związku.
ALL wariant UNION klauzuli obejmuje (ewentualny) zduplikowane rekordy.