1

我有一个相当奇怪的 MySQL 问题。

我有一个带有自动递增主键的表。

Primary keys are: 1, 2, 3, 4, 5, 6
Next auto increment key is 7.

现在我删除最后两个条目。

Primary keys are: 1, 2, 3, 4
Next auto increment key is 7.

一切都很好。

现在,无论出于何种原因(可能是更新),我重新启动了 mysql 守护进程。

Primary keys are: 1, 2, 3, 4
Next auto increment key is 5.

由于这个表有一个外键,我得到一个重复的输入错误。

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

如何确保每次更新 mysql 时不再发生这些重复的条目错误?

更新:我刚刚从2003 年发现了这个错误! http://bugs.mysql.com/bug.php?id=199

4

1 回答 1

0

这就是innodb 计算下一个自动增量值的方式:它将它存储在内存中,并且在开始时它只是获取该MAX(id) + 1值。

不确定您的第二部分与该问题有何关系。外键与重复无关,只要 FK可以重复即可

所以你可能解释了重复不够好的问题。至少你需要解释你实际上做了什么来得到duplicate entry错误

于 2012-04-01T01:20:26.490 回答