0

我有 2 个数据库,一个 mySQL 数据库和一个 SQLite,它们来回同步以维护相同的数据。为了防止任何一方出现重复,我正在考虑为记录设置一个识别编号系统,但我不确定我将如何去做?

我需要以某种方式为两个数据库上的记录创建一个唯一 ID,例如:

mySQL ===> 数据 = 1, 5 id=???

sqLITE===> 数据 = 1, 5 id=???

我需要相同的 ID,所以当我同步时它不会转移到另一个数据库。

我想到的另一种方法是在数据库中的 2 列之间创建一个哈希,如果相同的数据在另一台服务器上,那么它不会同步该数据记录。

在我的情况下,使用数据库表的列作为唯一标识符是不合适的。

我真的不知道该怎么做,所以任何帮助都会很棒,谢谢!

4

1 回答 1

1

我理解这个问题的方式是,您需要以某种方式确定两个不同 SQL 数据库中的两行是否相同,或者是因为它们是独立创建的,或者是因为较早的同步。

我认为您使用哈希值的想法很好。它应该可以解决问题。但是,您也可以只连接字符串中的列值并获得相同的结果,如果您有多个数据列会变得模棱两可(“12-2”和“1-12”是然后不同)

但是您仍然需要发送生成的哈希值或所有行的连接字符串才能同步。也许跟踪已经同步的行是有意义的?但是,如果发生行数据值的更新,您可能需要取消跟踪它们。

我不确定这个答案是否对您有帮助,因为这个问题留下了许多值得猜测的地方。我可以建议更清楚地说明您要达到的目标吗?

于 2013-04-09T17:39:43.487 回答