我需要在本地和远程数据库之间同步记录,比如客户列表。双方的数据库具有相同的结构。我曾想过使用某种标记(日期字段,字段值的哈希/校验和......)但你会建议什么?
编辑:远程数据库在Web托管上,因此需要PHP来传输数据。
答案 0 :(得分:2)
在记录上设置最后一个更改字段(日期)总是一个好主意。请记住,如果您开始同步,则必须处理冲突。
如果双方都可以插入,请为主键使用分区方案。示例:站点A从1000000000开始,站点B从2000000000开始(使这些数字足够大或者只是将主键大小除以并发站点的数量)。
粗略同步情节:
答案 1 :(得分:1)
如果您想通过代码同步两个数据库,那么您正在寻找麻烦。
首先,您需要处理自己的主键生成,因为在不同站点上插入记录时,主键可以/将是相同的。唯一的主键生成并不容易实现。
此外,您需要一些冲突解决方案。在任何一方进行的更新或删除都必须反映到另一个站点。通常,如果没有用户干预,您无法解决冲突。
我的建议:看看内置(双向)复制,原生于数据库。它会为你节省很多麻烦。