在主控主复制中使用int主ID时会发生什么?

问题描述

情况:有多个表都有主自动增量ID。 此主ID /密钥是多个表中相互关联的外键。 当没有复制或只有主复制-从复制时,这非常有用。

但是,当您需要一个主副本时,会发生什么? 插入新记录时,例如,由于偏移,它不会获得ID 1,而在主1上获得1,在主2上获得2。

如果是这种情况,那么一个人又怎么能在一个master master上做关系表/数据(如MysqL的目的),又为什么需要偏移量呢?大师-大师应该(在我看来)是彼此的镜像。

如果一个客户的ID为2,而我从母版1进行查询,我会得到错误的数据,因为在母版1中,客户ID为1?!

对我来说,唯一合乎逻辑的解决方案是创建一个额外的列,例如“ customer_id”。 如果需要更新某些内容,则需要在where子句中知道母版1中的ID和母版2中的另一个ID。

有人可以说明一下它是如何工作的。

解决方法

我认为您所缺少的是,复制的插入不使用自动增量,它具有原始插入所在的主服务器的ID。

请注意,您建议的customer_id将有相同的问题。