2015-05-17 15 views
5

Sto scrivendo i dati in un database SQLite, ma poiché il set di dati è molto grande, sto suddividendo il processo in cinque parti. Di conseguenza, sto scrivendo contemporaneamente su cinque diversi database SQLite, ciascuno con gli stessi nomi di colonna e, alla fine, voglio aggiungere le cinque tabelle nei cinque database insieme in un'unica tabella. Qual è il modo di fare questo?sqlite aggiungi due tabelle da due database che hanno esattamente lo stesso schema

risposta

6

È possibile utilizzare ATTACH per rendere il contenuto di un altro file di database accessibili nella stessa connessione: (. Il database principale è sempre chiamato main; l'apertura di una nuova connessione al database è l'equivalente di ATTACH "filename" AS main)

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

1

È possibile utilizzare UNION o UNION ALL per unire 2 o più query.

Qualcosa di simile:

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

È possibile utilizzare un INSERT INTO NewTableName (SELECT ...) per creare una nuova tabella da quella unione.

Il ALL variante del UNION clausola di include la (eventuale) duplicati record.

Problemi correlati