Mybatis在表中删除数据后再插入数据,主键不连续的问题解决。
近日在学习javaweb,在练习案例中发现,删除表中数据,再通过mybatis插入数据(其实是否通过mybatis操作结果都相同)会导致数据主键不连续。
删除前:
删除后:
如果此时直接通过 insert插入数据会导致主键不连续:
此时主键本应从 4 开始,而实际却以6开始,继承了从已被删除数据的主键。
------------------------------------------------------------------------------------------------------------------------------
解决方法:
在插入数据前执行
ALTER TABLE 表名 AUTO_INCREMENT = 1;
主键会从目前表中主键最大值开始以 1 为跨度重新自增。
(我是开发的web项目,相关操作在mapper里):
在执行插入前,先执行alter语句,避免主键不连续。
效果如下,成功解决了主键不连续的问题。