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