防止mysql自动增量跳跃序列

时间:2016-01-02 10:14:03

标签: mysql mysqli phpmyadmin

我有一个表格,其中插入了数据, ID 号码用作 auto_increment 主键,我面临的问题是当插入表行时出现错误的事务或错误时,ID号会跳转序列。

我只是希望它不应该跳过序列并坚持顺序。

我在同一个问题上遇到了其他问题,我知道innodb在交易开始时使用了自动增量功能,但我想以某种方式将它放在最后

1 个答案:

答案 0 :(得分:0)

documentation在这一点上很清楚。

  • “丢失”自动递增值和序列间隙

在所有锁定模式(0,1和2)中,如果生成自动增量值的事务回滚,则这些自动增量值将“丢失”。为自动增量列生成值后,无论是否“INSERT-like”语句完成,以及是否回滚包含事务,都无法回滚该值。这些丢失的值不会被重用。因此,存储在表的AUTO_INCREMENT列中的值可能存在间隙。

InnoDB无法实现您的目标。