所以我有一个MySQL数据库,我正在使用PHP网站.在几周的发展过程中,我留下了类似的东西:
Table: users
id | name
-----------
12| Bob
34| Jen
155| John
154| Kyle
除此之外,还有数百条记录,而且数以千计.
我正在寻找一个脚本,我可以运行将键重命名为最低值(保留各自的行),然后将AUTO_INCREMENT重置为下一个id
期望的输出是:
Table: users
id | name
-----------
1| Bob
2| Jen
3| Kyle
4| John
和ALTER TABLE用户AUTO_INCREMENT = 5;
(注意凯尔和约翰)
我意识到我必须修复任何引用users.id的东西.
解决方法:
删除id上的索引
做这样的事情:
SET @rank:=0;
update users
set id=@rank:=@rank+1
order by id;
在id上添加索引