我已经阅读了一些有关此内容的帖子但没有涉及此问题.
我猜它不可能,但无论如何我都会问.
我有一个超过50,000个寄存器的表.这是一个旧表,其中发生了各种插入/删除操作.
也就是说,大约300个寄存器中有一些"漏洞".即:...,1340,1341,1660,1661,1662,......
问题是.是否有一种简单/简单的方法可以使新的刀片填充这些"孔"?
保罗布埃诺
所以我有一个MySQL数据库,我正在使用PHP网站.在几周的发展过程中,我留下了类似的东西:
Table: users
id | name
-----------
12| Bob
34| Jen
155| John
154| Kyle
Run Code Online (Sandbox Code Playgroud)
除此之外,还有数百条记录,而且数以千计.
我正在寻找一个脚本,我可以运行将键重命名为最低值(保留各自的行),然后重置AUTO_INCREMENT为下一个id
期望的输出是:
Table: users
id | name
-----------
1| Bob
2| Jen
3| Kyle
4| John
Run Code Online (Sandbox Code Playgroud)
和 ALTER TABLE users AUTO_INCREMENT = 5;
(通知Kyle和John)
我意识到我必须修复任何引用它的东西users.id.
有没有人知道在MySQL或PHP脚本中这样做的方法?