我正在开发一个应用程序具有一组有序字段的项目。此外,还可以删除其中一个字段,但是,如果您删除一行,它不会根据删除的内容重新排序,例如。1, 2, 4, 5, 6
有没有办法可以根据上面的字段重新排序列表给我1, 2, 3, 4, 5
?
我正在开发一个应用程序具有一组有序字段的项目。此外,还可以删除其中一个字段,但是,如果您删除一行,它不会根据删除的内容重新排序,例如。1, 2, 4, 5, 6
有没有办法可以根据上面的字段重新排序列表给我1, 2, 3, 4, 5
?
如果您知道您删除了“3”,请执行以下操作:
update t
set id = id - 1
where id > 3
这假设该id
列与 auto_increment 一起使用
我认为没有可靠的“单一命令方式”来做到这一点。您可以使用 Gordon 的解决方案,但正如我所提到的,它不会正确地重新组织您的 id。
这是我的解决方案(假设您可以使用 PHP 或其他脚本语言):
ALTER TABLE 'your_table' AUTO_INCREMENT=0
重置 auto_increment。这将是我这样做的方式。