0

我的情况有点奇怪。我们目前有两个数据库,我们的 STAGE DB 和我们的 LIVE DB。两个数据库具有相同的架构,但数据略有不同。

所以一切工作的方式是,处理大型数据集并将结果更新到 STAGE DB。这个数据库在一个封闭的网络上,没有外部访问(安全问题,不要问)。此数据库已启用二进制日志记录,因此为了使这些更改在 LIVE DB 上可用,需要获取更改的转储文件,然后在 LIVE DB 上手动运行。

这一切正常,直到在 LIVE DB 上对具有 AUTO_INCREMENT 键列的表进行更改。因此,当我们去应用更改时,列 id 值已经存在。

我的问题是,有没有办法解决这个问题?是否有一些选项允许只插入而不需要相同的键?

4

1 回答 1

0

它似乎是基于语句的复制。您让一个数据库使用奇数,而另一个使用偶数作为 auto_increment。- 注意

谢谢注,

那是一种享受。这就是我为实施修复所做的。

将以下内容添加到您的 my.cnf/my.ini 文件中。

舞台数据库

auto_increment_increment = 2

auto_increment_offset = 1

实时数据库

auto_increment_increment = 2

auto_increment_offset = 2

于 2015-04-13T10:32:06.273 回答