首頁 > 資料庫 > mysql教程 > 如何使用 LIMIT 更新 MySQL 中的特定行數?

如何使用 LIMIT 更新 MySQL 中的特定行數?

Mary-Kate Olsen
發布: 2025-01-02 14:36:44
原創
634 人瀏覽過

How to Update a Specific Number of Rows in MySQL Using LIMIT?

在MySQL 中使用LIMIT 更新多行

您正在嘗試在MySQL 查詢中使用LIMIT 子句更新特定數量的行,但遇到錯誤。讓我們了解為什麼您的初始查詢可能失敗以及如何修復它。

UPDATE messages set test_read =1
WHERE userid='xyz'
ORDER BY date_added DESC
LIMIT 5, 5 ;
登入後複製

上面的查詢無效,因為 LIMIT 期望一個正整數表示與結果集開頭的偏移量,然後要更新的行數。在查詢中,您同時指定了偏移量 (5) 和限制 (5),這是不正確的。

要更新從偏移量開始的特定行數,可以使用子查詢來選擇要更新的行,然後更新它們。以下是修改後的查詢:

UPDATE messages SET test_read=1
WHERE id IN (
    SELECT id FROM (
        SELECT id FROM messages 
        ORDER BY date_added DESC  
        LIMIT 5
    ) tmp
);
登入後複製

在此查詢中,子查詢用於選擇要更新的行的 ID,從第 5 行開始按 date_added 列的降序排列。然後,主查詢使用 IN 子句僅更新這些特定行。

以上是如何使用 LIMIT 更新 MySQL 中的特定行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板