2010-08-24 6 views
1

Existe-t-il un moyen simple de déposer une table de base de données SQLite dans une chaîne de texte contenant des instructions insert à importer dans la même table d'une base de données différente?Déposer le contenu d'une table dans sqlite3 pour l'importer dans une nouvelle base de données

Dans mon exemple spécifique, j'ai une table appelée log_entries avec diverses colonnes. À la fin de chaque jour, je voudrais créer une chaîne qui peut ensuite être déversée dans une autre base de données avec une table de la même structure appelée archive. (Et vider la table log_entries)

Je connais la commande attach pour créer de nouvelles bases de données. Je souhaite en fait l'ajouter à un existant plutôt que d'en créer un nouveau tous les jours.

Merci!

Répondre

0
ATTACH "%backup_file%" AS Backup; 
INSERT INTO Backup.Archive SELECT * FROM log_entries; 
DELETE FROM log_entries; 
DETACH Backup; 

Tout ce que vous devez faire est de remplacer% backup_file% par le chemin de votre base de données de sauvegarde. Cette approche considère que votre table Archive est déjà définie et que vous utilisez le même fichier de base de données pour cumuler votre archive.

0
$ sqlite3 exclusion.sqlite '.dump exclusion' 
PRAGMA foreign_keys=OFF; 
BEGIN TRANSACTION; 
CREATE TABLE exclusion (word string); 
INSERT INTO "exclusion" VALUES('books'); 
INSERT INTO "exclusion" VALUES('rendezvousing'); 
INSERT INTO "exclusion" VALUES('motherlands'); 
INSERT INTO "exclusion" VALUES('excerpt'); 
... 
Questions connexes