数据库为了保证主键的一致性,当某个主键值被占用了之后,哪怕这条数据被删除了,这个主键依然不可用,所以就导致会出现主键不连续的问题。依据情况不同,可采取不同的解决方法。
一、删除全部数据(等价于清空数据表)
方法一:在删除时不用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;