在包含食品清單的資料庫表中,其中「位置」欄位表示其訂單在清單中,經常需要根據單一記錄的變更來重新排列其順序。原始發布者提供的查詢涉及繁瑣的多步驟過程,涉及資料提取、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中文網其他相關文章!