我想知道 SQLite 是否提出了基于某些 delta 文件的更新机制,例如 Oracle 数据库可以与 sql 重做日志或快照日志同步。
SQLite 是否提出了一种优化的机制来更新自身。
我的用例如下,我有一个必须与一些远程数据同步的本地数据库,在理想情况下,我想以优化的格式构建更改,只有它们,而不是所有数据库,是否有一些本机 SQLite 机制还是我必须实现一个自定义?
谢谢
我想知道 SQLite 是否提出了基于某些 delta 文件的更新机制,例如 Oracle 数据库可以与 sql 重做日志或快照日志同步。
SQLite 是否提出了一种优化的机制来更新自身。
我的用例如下,我有一个必须与一些远程数据同步的本地数据库,在理想情况下,我想以优化的格式构建更改,只有它们,而不是所有数据库,是否有一些本机 SQLite 机制还是我必须实现一个自定义?
谢谢
我们有这个完全相同的要求,我们通过编写插入/更新/删除语句来满足这个要求,这些语句在对 SQLLite 数据库执行时会更新它。
我们有一个从某个来源更新的中央 SQLLite 数据库。然后需要将更新传播到其他 SQLLite 数据库。我们所做的是生成 SQL 脚本并针对需要更新的数据库执行它们。
类似的东西将有助于实现您正在寻找的东西
该主题现在包含在另一个 SO 问题中:如何区分 2 个 SQLite 文件?
简而言之,现在有一个内置工具可以区分两个 sqlite 数据库。
您需要定制解决方案。SQLite 没有任何内置功能可以自动执行此操作。
请注意,您可以编写跨多个数据库的查询。使用它,您可以完全在 SQLite 中从另一个数据库中的数据更新一个数据库。不过,您仍然需要将逻辑放在自己身上。
截至 2016 年,其他一些答案已过时。“会话”扩展在 3.13.0 版(2016 年)中添加到 SQLite3,它提供了类似于 diff 和 patch 的内容。我绝不是这方面的专家,我和这里的 OP 有同样的问题,最终找到了这个。