在包含食品列表的数据库表中,其中“位置”字段表示其订单在列表中,经常需要根据单个记录的更改来重新排列其顺序。原始发布者提供的查询涉及繁琐的多步骤过程,涉及数据提取、JavaScript 中的操作和多个数据库更新。
但是,通过单个查询解决问题的更有效方法是:
<code class="sql">UPDATE my_table SET position = position * 10;</code>
此查询将表中所有记录的位置乘以 10,从而在位置之间创建足够的间隙。随后,可以通过以下查询轻松实现对目标记录的简单更新,以将“Pears”移动到所需位置:
<code class="sql">UPDATE my_table SET position = 15 WHERE listId=1 AND name = 'Pears';</code>
为了解决由于后续重新排序而导致间隙随着时间推移消失的任何问题,可以定期执行之前提供的查询来更新位置并保持必要的间距。使用这种高效的单查询方法,重新排列食物的顺序成为一项简单的任务。
以上是如何基于 SQL 中的单次更新有效地重新排列多条记录?的详细内容。更多信息请关注PHP中文网其他相关文章!