Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的幻灯片项目数据库中有一个 int(11)DisplayOrder列,它告诉我的代码显示项目的顺序。管理员可以使用表单更新订单,例如将数字 20 更改为数字 3。无需强制用户手动查找数字 3 并将其与 20 交换,是否有一种简单的方法来更新数据库中的数字序列?使用 MySQL,或array()在发送查询之前更改项目。
DisplayOrder
array()
我找了又找,似乎没有很多可靠的答案。问题是我目前有 400 行,而且这个数字还会增长。我真的不想每次订单更改时都进行 400 次更新。有没有更好的办法?有现成的脚本吗?
为什么需要对DisplayOrder值进行完全重新排序?
如果ORDER BY存在重复值,则子句也可以正常工作。为了保持稳定的排序,您可以按项目名称或 ID 等辅助列进行排序。
ORDER BY