使用标识编号系统在数据库之间映射记录

时间:2013-04-09 17:19:19

标签: mysql synchronization replication sync

我有2个数据库,一个mySQL数据库和一个来回同步来保存相同数据的SQLite。为了防止任何一方的重复我想到有一个识别编号系统的记录,但我不知道我将如何去做?

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

mySQL ===> data = 1,5 id = ???

SQLITE ===> data = 1,5 id = ???

我需要ID相同,因此当我同步时,它不会转移到其他数据库。

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

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

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

1 个答案:

答案 0 :(得分:1)

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

我认为你的哈希值的想法很好。它应该做的伎俩。但是,您也可以在字符串中连接列值并获得相同的结果,如果您有多个数据列,否则可能会有一个短划线,否则会变得模糊不清(“12-2”和“1-12”是然后不同)

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

我不确定这个答案是否对你有帮助,因为这个问题留下了许多可以推测的观点。我可以建议让你更清楚一下你想要实现的目标吗?