MySQL:使用限制查詢更新記錄
使用MySQL 時,可能會遇到需要更新特定記錄的情況表中的行範圍。本文解決了在 UPDATE 查詢中使用 LIMIT 子句是否可行的問題,並提供如何實現此目的的指導。
語法錯誤和正確用法
您的初始查詢嘗試更新從 1001 條記錄開始的行以及接下來的 1000 條記錄。但是,使用的語法不正確。在 MySQL 中,LIMIT 子句用來限制選取行的數量,而不是更新行的數量。更新特定範圍行的正確方法是透過子查詢。
例如,要更新p_id 設定為3 的前1000 行,您可以使用下列指令:
UPDATE `oltp_db`.`users` SET p_id = 3 WHERE id IN ( SELECT id FROM ( SELECT id FROM `oltp_db`.`users` ORDER BY id ASC LIMIT 0, 1000 ) tmp )
處理NULL 值
處理NULL 值UPDATE `oltp_db`.`users` SET p_id = COALESCE(3, p_id) WHERE p_id IS NULL
以上是如何使用 LIMIT 子句更新 MySQL 中特定範圍的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!