2010-08-24 97 views
1

是否有将SQLite数据库表转储为文本字符串的简单方法,要将insert语句导入到不同数据库的同一个表中?将sqlite3中的表内容转储到新数据库中

在我的具体示例中,我有一个名为log_entries与各种列的表。在每天结束时,我想要创建一个字符串,然后可以将该字符串转储到其他数据库中,并使用名为存档的相同结构的表。 (并清空表log_entries

我知道attach命令来创建新的数据库。我其实希望将其添加到现有的一个,而不是每天创建一个新的。

谢谢!

回答

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

所有你需要做的是与路径备份数据库替换%backup_file%。该方法认为您的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'); 
... 
相关问题