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

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

DDD
發布: 2024-12-05 06:20:10
原創
192 人瀏覽過

How Can I Correctly Update a Specific Number of Rows in MySQL Using LIMIT?

MySQL - 使用LIMIT 的UPDATE 查詢

本文解決了嘗試透過MySQL 資料庫中的LIMIT 子句更新特定行時遇到的子句挑戰。目標是更新指定行 ID 範圍內的行。

語法錯誤和正確查詢

您提供的查詢「UPDATE oltp_db.users SET p_id = 3 LIMIT 1001, 1000",語法不正確。在 UPDATE 查詢中使用 LIMIT 的正確語法是指定起始行號(偏移量)和要更新的行數。正確的查詢應該是:

UPDATE `oltp_db`.`users` SET p_id = 3 LIMIT 1001, 1000;
登入後複製

更新具有NULL 值的行

您的查詢,「UPDATE oltp_db.users SET p_id = 3 WHERE p_id = null ”,也是不正確的。等號運算子「=」不能與 NULL 值一起使用。若要更新具有NULL 值的行,請使用IS NULL 運算符,如下所示:

UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id IS NULL;
登入後複製

使用LIMIT 更新多行

要限制更新的行數,請使用用於選擇特定範圍的行ID的子查詢,如以下查詢所示:

UPDATE table_name SET name='test'
WHERE id IN (
    SELECT id FROM (
        SELECT id FROM table_name 
        ORDER BY id ASC  
        LIMIT 0, 10
    ) tmp
)
登入後複製

This查詢更新「name」列設定為「test」的行,其中行 ID 位於指定範圍內。內部子查詢從表格中選擇前 10 個行 ID,然後在外部更新查詢的 IN 子句中使用它們。

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

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