我有一个表格,其中插入了数据, ID 号码用作 auto_increment 和主键,我面临的问题是当插入表行时出现错误的事务或错误时,ID号会跳转序列。
我只是希望它不应该跳过序列并坚持顺序。
我在同一个问题上遇到了其他问题,我知道innodb
在交易开始时使用了自动增量功能,但我想以某种方式将它放在最后
答案 0 :(得分:0)
documentation在这一点上很清楚。
在所有锁定模式(0,1和2)中,如果生成自动增量值的事务回滚,则这些自动增量值将“丢失”。为自动增量列生成值后,无论是否“INSERT-like”语句完成,以及是否回滚包含事务,都无法回滚该值。这些丢失的值不会被重用。因此,存储在表的AUTO_INCREMENT列中的值可能存在间隙。
InnoDB无法实现您的目标。