方法一:
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;