为什么数字正在我的自动递增主键跳过?(Why are numbers being skipped i

2019-10-29 04:42发布

使用MySQL 5.1.37

这是不是一个真正的关键问题,我们BIZ-dev的人只是询问它的一个,我没有一个很好的答案。 在我们的用户表中,我们有一个自动增加的主键。 不时,它会跳过数,似乎速度越来越快被这样做。 我最初的想法是,当两个并发注册等发生的,一个是无效的,如果第二次注册正在进行中,而第一次是失败的,我们会看到跳过值,因为第二个注册将使用一个ID。 但是,这似乎是因为与它发生的频率并不认为有可能。 有任何想法吗?

Answer 1:

我认为你是在正确的线路与故障设置。 这可能是交易的“保留”主键,然后事务被回滚的结果。 当然,这是假设没有一种delete语句的桌子上正在发行



Answer 2:

下面回答这个问题:

在TRANSACTION,COMMIT和ROLLBACK MySQL的自动递增列

MySQL的AUTO_INCREMENT不会回退

http://bugs.mysql.com/bug.php?id=30767



文章来源: Why are numbers being skipped in my auto-increment primary key?