解决mysql中删除数据后主键id不再连续的问题

283 阅读1分钟

数据库为了保证主键的一致性,当某个主键值被占用了之后,哪怕这条数据被删除了,这个主键依然不可用,所以就导致会出现主键不连续的问题。依据情况不同,可采取不同的解决方法。


一、删除全部数据(等价于清空数据表)

方法一:在删除时不用navicat等客户端软件,而是使用命令行

truncate table 表名; 

方法二:手动指定auto_increment=1

alter table tablename auto_increment=1;


二、删除部分数据

方法:先删除id列,然后新增id列同时设为主键并自增

alter table 表名 drop 主键名;
alter table 表名 add 主键名 int not null PRIMARY KEY auto_increment first;