php - 如何使用 PHP 为 MySQL 表中的每一行重新分配 AUTO_INCREMENT 列

标签 php mysql auto-increment

我有一个图片库,网站成员可以将图片上传到该图片库。上传图片时,会写入 MySQL 行,包含有关图片、成员等的各种信息。此行使用 AUTO_INCREMENT 创建其 ID,以便 getimage.php?id=XX可以获取要显示的图像。

我使用 for 循环遍历 ID 以在图库中显示图像。

如果我删除第 5 行/图像,例如,AUTO_INCREMENT 从 123456789 变为 12346789

我想从头开始为 MySQL 表中的每一行重新分配 ID。所以 12346789 变成了 12345678。我该如何实现呢?

最佳答案

我发现它可以完美且快速地工作,所以这里是:

ALTER TABLE tablename DROP id

ALTER TABLE tablename ADD id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (id), AUTO_INCREMENT=1

我知道这不是正确的方法,但是对于我的具体情况,这正是所需要的。我使用的表中没有任何内容是从另一个表引用或引用到另一个表。

关于php - 如何使用 PHP 为 MySQL 表中的每一行重新分配 AUTO_INCREMENT 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6718674/

相关文章:

通过 ssh 隧道的 PhpStorm XDebug

php - 包括外部代码

php - 博客文章的单独页面

firebird - 更新发电机值(value)问题

xml - jQuery 循环?克隆?简单地说为什么?

php - 表单提交后不刷新页面

php - 更改不同页面上的菜单事件状态

mysql - 无法从另一个容器访问Docker容器中的MySQL数据库

linux - 在MySQL前面使用redis

mysql自增错误