当我删除数据库中的行时,ID(自动递增)现在不再是连续的。假设我有 1 2 3 4 5 6 7 8 9
并且我删除了 3 4 5
行。删除后我希望 ID 显示为 1 2 3 4 5 6
而不是 1 2 6 7 8 9
请问我该怎么做?
更新
我正在使用此代码显示数据库生成的注释的序列号...(在 while 循环内)
<?php
$serial = 0;
$serial++;
echo"<div class='commentserial'>
<div id='$serial'></div>
<a href='#$serial'>$serial</a>
</diV>";
?>
现在我在评论显示上有了一个分页脚本,当我单击第二页而不是从 1 到 $per_page 编号的序列号时。
所以我觉得如果我使用数据库 ID 那么在后续分页页面上编号将不会从 1 开始。
最佳答案
您想做的不是好的做法。主键中的漏洞不应该留在那里。想象一下,例如在另一个表中引用了主表中的 ID 25
。如果主表发生变化,引用会突然指向不同的记录。
网络链接也是如此。有一个像
这样的 URLdetails.html?id=255
突然指向不同的记录会非常糟糕。
如果您想要一个完美的序列 ID,最好在应用程序级别创建它。
关于php - 删除行时如何始终序列化mysql中的id行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14832955/