在 MySQL 中更新具有限制的行
在 MySQL 中,在 UPDATE 查詢中使用 LIMIT 子句可能會造成混淆。在這裡,我們詳細解釋其用法並解決相關問題。
使用LIMIT 查詢
要更新特定範圍內的行,可以使用以下語法:
UPDATE table_name SET column_name = value WHERE id IN ( SELECT id FROM ( SELECT id FROM table_name ORDER BY id ASC LIMIT start_row, row_count ) tmp )
例如,要將行從1001更新到1100, use:
UPDATE table_name SET p_id = 3 WHERE id IN ( SELECT id FROM ( SELECT id FROM table_name ORDER BY id ASC LIMIT 1001, 1000 ) tmp )
無效查詢
您提供的查詢(UPDATE oltp_db.users SET p_id = 3 LIMIT 1001, 1000) 直接使用在UPDATE 語句中。它必須在子查詢中套用,如上所示。
更新空值
如果p_id 欄位包含NULL 值,則下列查詢將無法運作:
UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id = null
要更新NULL 值,可以使用IS NULL狀況:
UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id IS NULL
以上是如何在 MySQL UPDATE 查詢中使用 LIMIT?的詳細內容。更多資訊請關注PHP中文網其他相關文章!