我有 2 个数据库,一个 mySQL 数据库和一个 SQLite,它们来回同步以维护相同的数据。为了防止两边重复,我正在考虑为记录建立一个识别编号系统,但我不确定我将如何去做?
我需要以某种方式为两个数据库上的记录创建一个唯一的 ID,例如:
mySQL ===> 数据 = 1, 5 id=???
sqLITE===> 数据 = 1, 5 id=???
我需要ID相同,所以当我同步时它不会传输到其他数据库。
我想到的另一种方法是在数据库中的两列之间创建哈希,如果相同的数据位于另一台服务器上,则它不会同步该数据记录。
使用数据库表的列作为唯一标识符不适合我的情况。
我真的不知道如何解决这个问题,所以任何帮助都会很棒,谢谢!
最佳答案
我理解这个问题的方式是,您需要以某种方式确定两个不同 SQL 数据库中的两行是否相同,要么是因为它们是独立创建的,要么是因为较早的同步。
我认为你关于哈希值的想法很好。它应该可以解决问题。但是,您也可以仅连接字符串中的列值并获得相同的结果,如果您有多个数据列,这些数据列可能会变得不明确(“12-2”和“1-12”是然后不同)
但是您仍然需要发送生成的哈希值或所有行的串联字符串才能同步。也许跟踪已经同步的行有意义?但是,如果发生行数据值更新,您可能需要取消跟踪它们。
我不确定这个答案对您是否有帮助,因为这个问题留下了很多值得猜测的地方。我可以建议更清楚地说明您想要实现的目标吗?
关于mysql - 使用标识编号系统在数据库之间映射记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15908357/