mysql中删除数据后,新增数据时id会跳跃,主键自增id不连续

引言:
在使用MySQL数据库时,有时候我们需要删除某些记录,但是删除记录后可能会导致表中的id不再连续排序。
如何实现删除记录后让id重新排序的功能。

如图:
mysql中删除数据后,新增数据时id会跳跃,主键自增id不连续_第1张图片
删除数据后,中间的id不会自动连续。
下面有两种方法进行重新排序:
方法一:
删除表中id,重新添加id字段:


ALTER TABLE test DROP id;
 
ALTER TABLE test ADD id int(20) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST

其中,first表示将id字段放到第一个位置,test为数据库名

方法二:

SET @i=0;
 
UPDATE test SET `id`=(@i:=@i+1); 
 
ALTER TABLE test AUTO_INCREMENT=1;

其中:
设置变量i = 0
把表中的id字段都重新修改一遍,从1开始
设置自增值为1,防止下次插入数据发生自增字段不连续的情况
test为数据库名

修改后数据:
mysql中删除数据后,新增数据时id会跳跃,主键自增id不连续_第2张图片

你可能感兴趣的:(MySQL,mysql)