【发布时间】:2011-10-06 19:34:05
【问题描述】:
我有一个图片库,网站成员可以将图片上传到该图片库。上传图片时,会写入 MySQL 行,包含图片、成员等各种信息。该行使用 AUTO_INCREMENT 创建其 ID,以便getimage.php?id=XX 可以获取要显示的图片。
我使用 for 循环遍历 ID 以在图库中显示图像。
如果我删除第 5 行/图像,例如,AUTO_INCREMENT 从123456789 变为12346789。
我想从头开始为 MySQL 表中的每一行重新分配 ID。所以 12346789 变成了 12345678。我该如何实现呢?
【问题讨论】:
-
这是处理已删除图像的完全错误的方法。只需选择您需要的行并遍历这些行。
-
您为什么要这样做?这也意味着您必须更新指向这些图像的所有链接,以确保您仍然获得正确的图像。
-
据我所知,如果您仍然使用自动增量,您将无法做到这一点。
-
@Sam Dufel 例如,我可以只选择第 1 - 20 行并循环遍历它们吗?我该怎么做?
-
因为我没有另一个使用这些 auto_incremented id 的表,我发现这也很有帮助:'ALTER TABLE mytable DROP id; ALTER TABLE 上传 ADD id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (id), AUTO_INCREMENT=1; '
标签: php mysql auto-increment