有没有一种使用增量更新的方式来更新SQLITE数据库?

9
我想知道SQLite是否提供基于某些增量文件的更新机制。例如,Oracle数据库可以使用SQL重做日志或快照日志进行同步。
SQLite是否提供优化的更新机制?
我的用例是这样的,我有一个本地数据库,必须与一些远程数据同步,在理想的情况下,我希望以优化的格式构建更改并仅使用它们,而不是整个数据库。是否有SQLite本机机制或者我必须实现自定义机制?
谢谢
4个回答

4

我们有完全相同的需求,我们通过编写插入/更新/删除语句来实现这一点,当它们执行到SQLLite数据库时进行更新。

我们有一个中央SQLLite数据库,从某些源更新。然后需要将更新传播到其他SQLLite数据库。我们所做的是生成SQL脚本并对需要更新的数据库执行它们。

类似的方法可以帮助实现您所寻找的内容。


1
现在该主题已经在另一个SO问题中涵盖了:如何比较两个SQLite文件? 简而言之,现在有一个内置工具来比较两个SQLite数据库。

1

2016年以后,其他答案已经过时。 "sessions" 扩展在 SQLite3 版本 3.13.0(于2016年)中被添加,它提供了类似于 diff 和 patch 的功能。我并不是这方面的专家,我和这里的 OP 有同样的问题,并最终找到了这个。

https://sqlite.org/sessionintro.html


0

你需要定制一个解决方案。SQLite没有内置自动执行此操作的功能。

请注意,您可以编写跨多个数据库的查询。使用此功能,您可以在SQLite中完全从另一个数据库中的数据更新一个数据库。但是,你仍然需要自己添加逻辑。

http://www.sqlite.org/lang_attach.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接