使用LIMIT 更正MySQL DELETE 語句的語法
嘗試使用以下DELETE 語句從MySQL 表中刪除一系列行時LIMIT 子句,如果語法不正確,您可能會遇到錯誤。此錯誤通常表示用於指定限制的語法有問題。
提供的查詢中的問題是您無法在 DELETE 語句的 LIMIT 子句中指定偏移量。在 DELETE 語句中使用 LIMIT 子句的語法是 LIMIT
要解決此問題,您需要重寫查詢以指定要刪除的行。刪除得更準確。一種方法是使用 IN 子句選擇要刪除的行的 ID,然後使用這些 ID 來篩選 DELETE 語句中的行。
以下是如何重寫的範例您的查詢:
<code class="sql">DELETE FROM `chat_messages` WHERE `id` IN ( SELECT `id` FROM ( SELECT `id` FROM `chat_messages` ORDER BY `timestamp` DESC LIMIT 20, 50 ) AS `x` )</code>
在此查詢中,我們首先使用子查詢來選擇要刪除的行的 ID。然後,我們使用主 DELETE 語句中的 IN 子句根據這些 ID 過濾行,從而刪除所需範圍的行。
需要注意的是,您可能需要進行調整基於表的特定結構和所需行為的查詢。
以上是如何在 MySQL DELETE 語句中使用 LIMIT 刪除一定範圍的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!