相关疑难解决方法(0)

如何填写自动递增字段中的"漏洞"?

我已经阅读了一些有关此内容的帖子但没有涉及此问题.

我猜它不可能,但无论如何我都会问.

我有一个超过50,000个寄存器的表.这是一个旧表,其中发生了各种插入/删除操作.

也就是说,大约300个寄存器中有一些"漏洞".即:...,1340,1341,1660,1661,1662,......

问题是.是否有一种简单/简单的方法可以使新的刀片填充这些"孔"?

保罗布埃诺

mysql auto-increment

17
推荐指数
3
解决办法
2万
查看次数

重新索引MySQL INT主键并重置AUTO_INCREMENT

所以我有一个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;

(通知KyleJohn)

我意识到我必须修复任何引用它的东西users.id.

有没有人知道在MySQL或PHP脚本中这样做的方法?

php mysql database auto-increment

3
推荐指数
1
解决办法
1284
查看次数

标签 统计

auto-increment ×2

mysql ×2

database ×1

php ×1