是否有一种简单的方法可以将SQLite数据库表转储到文本字符串中,并将insert
语句导入到不同数据库的同一个表中?
在我的具体示例中,我有一个名为 log_entries 的表,其中包含各种列。在每天结束时,我想创建一个字符串,然后可以将其转储到另一个数据库中,该数据库具有一个名为 archive 的相同结构的表。 (并清空表格 log_entries )
我知道创建新数据库的attach
命令。我实际上希望将它添加到现有的而不是每天创建一个新的。
谢谢!
答案 0 :(得分: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');
...
答案 1 :(得分:0)
ATTACH "%backup_file%" AS Backup;
INSERT INTO Backup.Archive SELECT * FROM log_entries;
DELETE FROM log_entries;
DETACH Backup;
您需要做的就是将%backup_file%替换为备份数据库的路径。此方法认为您的存档表已经定义,并且您使用相同的数据库文件来累积存档。