解决方案 2
这将根据需要进行,一天可能进行几次。我认为它的工作方式就像 http://sqlite.1065341.n5.nabble.com/Attempting-to-merge-large-databases-td39548.html 其中数据库被合并成一个大数据库,执行查询,然后删除大数据库。
其他提示
总结一下从 纳布尔帖子 在 DavidM 的回答中:
attach 'c:\test\b.db3' as toMerge;
BEGIN;
insert into AuditRecords select * from toMerge.AuditRecords;
COMMIT;
detach toMerge;
根据需要重复。
笔记:添加 detach toMerge;
根据迈克的评论。
如果您只需要执行一次合并操作(以创建一个新的更大的数据库),您可以创建一个脚本/程序来循环所有 sqlite 数据库,然后将数据插入到主(大)数据库中。
尽管这是一个非常古老的线程,但这仍然是当今编程需求中的一个相关问题。我将其发布在这里是因为所提供的答案都不够简洁、简单且直截了当。这是为了最终出现在该页面上的 Google 员工。图形用户界面我们去:
- 下载 sqlite工作室
- 使用以下命令添加所有数据库文件
Ctrl + O
键盘快捷键 - 双击每个现在加载的数据库文件以打开/激活/展开它们
- 有趣的部分:只需右键单击每个表,然后单击
Copy
, ,然后转到已加载数据库文件列表中的目标数据库(或根据需要创建新数据库),右键单击目标数据库,然后单击Paste
我惊讶地意识到,这样一项艰巨的任务可以使用古老的编程技能来解决,这种技能称为:复制和粘贴 :)
无意冒犯,就像一位开发人员对另一位开发人员一样,我担心您的想法似乎效率极低。在我看来,您应该在同一个数据库文件中存储多个表,而不是统一 SQLite 数据库。
但是,如果我错了,我想您可以附加数据库,然后使用视图来简化查询。或者创建一个内存表并复制所有数据(但这在性能方面更差,特别是如果您有大型数据库)
不隶属于 StackOverflow