问题描述
在把表里的id数最大的几个数据删除之后(比如我的id排列是1,2,3,4,5,6……255。然后我删除了id为255的这条数据),再次插入数据,此时因为一删一插,新数据的id应该是255,但是却是256。也就是我目前的id排列是1,2,3,4,5,6……254,256。
不是bug,因为mysql默认没有保持id的连续性,但是在一些业务需求中我们需要保持id的连续性,如何设置呢?
解决方案
加入到删除语句中,解决id断层问题
alter table book drop id;
alter TABLE book add id int(11) primary key auto_increment FIRST;
<delete id="deleteTempProjectAPQPStep">
delete
from apqp_schedule_temp
where emp_no = #{empNo};
<!--对自增列进行重新排序-->
alter table book drop id;
alter TABLE book add id int(11) primary key auto_increment FIRST;
</delete>