MYSQL在不删除数据的情况下,重置主键自增id

发布时间:2023年12月18日

MYSQL在不删除数据的情况下,重置主键自增id

方法一:

SET??@num?:=?0;
UPDATE?table_name?SET?id?=?@num?:=?(@num+1);
ALTER?TABLE?table_name?AUTO_INCREMENT?=1;

方法二:

背景(mysql 数据在进行多次删除新增之后id变得很大,但是并没有那么多条数据)

写一个存储过程更新mysql的主键id

话不多说上代码

1.mysql?命令模式下键入?
????delimiter?$$
2.
????create?procedure?update_data_id()
?????begin
????????declare?ind?int;
????????set?ind?=?1;
????????while?ind?<=?现有表数据总量+1
????????do
?????????????UPDATE??表名?set?id?=?ind?where?id?>?ind?LIMIT?1?;
?????????????set?ind?=?ind?+?1;
?????????end??while;
????end?$$
3.delimiter?;

表的总数量暂时没有做到count去取,暂时需要自己去count添加进去。

完毕!!!

alter?table?表名?drop?id;
alter?table?表名?add?id?int?primary?key?not?null?auto_increment?first;

文章来源:https://blog.csdn.net/allen88/article/details/135016326
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。