【问题标题】:Mapping records between databases using identification numbering system使用标识编号系统在数据库之间映射记录
【发布时间】:2013-04-09 17:19:18
【问题描述】:

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

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

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

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

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

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

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

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

【问题讨论】:

    标签: mysql synchronization replication sync


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢您的回复,我什至没有想到连接,它比散列容易得多。是的,我想你已经理解我的问题了,谢谢你的帮助
    猜你喜欢
    • 2011-03-26
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 2013-12-10
    • 1970-01-01
    • 2012-07-23
    相关资源
    最近更新 更多