【问题标题】:Dumping a table's content in sqlite3 to be imported into a new database在 sqlite3 中转储表的内容以导入新数据库
【发布时间】:2010-08-25 02:07:37
【问题描述】:

有没有一种简单的方法可以将 SQLite 数据库表转储到文本字符串中,并将 insert 语句导入到不同数据库的同一个表中?

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

我知道attach 命令可以创建新数据库。我实际上希望将它添加到现有的,而不是每天都创建一个新的。

谢谢!

【问题讨论】:

    标签: sql sqlite


    【解决方案1】:
    ATTACH "%backup_file%" AS Backup;
    INSERT INTO Backup.Archive SELECT * FROM log_entries;
    DELETE FROM log_entries;
    DETACH Backup;
    

    您需要做的就是将 %backup_file% 替换为备份数据库的路径。这种方法认为您的存档表已经定义并且您正在使用相同的数据库文件来累积您的存档。

    【讨论】:

      【解决方案2】:
      $ 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');
      ...
      

      【讨论】:

        猜你喜欢
        • 2010-09-23
        • 1970-01-01
        • 1970-01-01
        • 2020-03-13
        • 1970-01-01
        • 2013-05-11
        • 1970-01-01
        • 2012-10-29
        • 1970-01-01
        相关资源
        最近更新 更多