3

我有一个表 -id其中是auto_increment和一email列被定义为UNIQUE

考虑auto_increment将 设置为 1。

在我stored procedure创建INSERT一个具有唯一电子邮件 ID 的新行时,auto_increment 列会递增。正确的行为。

现在,当我再次尝试INSERT相同的电子邮件时,UNIQUE KEY它被违反了。我检查了这个并做一个ROLLBACK. 但是 auto_increment 现在设置为 2。为什么?

在第三次尝试中INSERT,这次使用唯一的电子邮件插入了行,但是该id字段的值为 3。不好。

有没有办法可以将值减回到 2。

4

1 回答 1

5

检查这个:MySQL AUTO_INCREMENT 不回滚

最突出的一点是:您永远不应该依赖自动生成的键的数字特征。

于 2012-06-05T13:09:00.647 回答