关于MySQL自增主键不连续的问题
在一张主键自增的表中,如果删除某些行数据,但发现主键不连续了,应该怎么解决?
直接上图
删除一些数据
delete from user
where id = 7 or id = 11 or id = 12

删除了三行数据
原来的主键id是自增的,现在把id修改为普通字段,并删除主键
alter table user modify id int
alter table user drop primary key
新增一个自增主键 取名叫 id2 ,用来当工具人
alter table user add id2 int primary key auto_increment

现在id2变成自增了,接下来把id2的赋值给id
update user set id = id2

删除id2字段
alter table user drop id2
最后把id改回自增主键
alter table user modify id int primary key auto_increment
再新增一条,依然是自增的

本文详细介绍了如何处理MySQL表中自增主键因删除数据而不连续的问题。首先,通过删除主键约束并将其改为普通字段,然后新增一个自增字段id2作为临时主键。接着,将id2的值复制到id字段,删除id2字段,最后将id字段恢复为主键并设置为自增。这种方法确保了在新增数据时,主键能重新开始自增。
443

被折叠的 条评论
为什么被折叠?



