Aktualisieren von Zeilen mit Limit in MySQL
In MySQL kann die Verwendung der LIMIT-Klausel in einer UPDATE-Abfrage verwirrend sein. Hier geben wir eine ausführliche Erläuterung seiner Verwendung und gehen auf verwandte Fragen ein.
Abfrage mit LIMIT
Um Zeilen innerhalb eines bestimmten Bereichs zu aktualisieren, können Sie die folgende Syntax verwenden :
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 )
Um beispielsweise Zeilen von 1001 auf 1100 zu aktualisieren, 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 )
Ungültige Abfrage
Die von Ihnen angegebene Abfrage (UPDATE oltp_db.users SET p_id = 3 LIMIT 1001, 1000) ist ungültig, da LIMIT nicht verwendet werden kann direkt in einer UPDATE-Anweisung. Es muss wie oben gezeigt innerhalb einer Unterabfrage angewendet werden.
Aktualisieren von Nullwerten
Wenn die Spalte p_id NULL-Werte enthält, funktioniert die folgende Abfrage nicht:
UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id = null
Um NULL-Werte zu aktualisieren, können Sie die IS NULL-Bedingung verwenden:
UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id IS NULL
Das obige ist der detaillierte Inhalt vonWie verwende ich LIMIT in MySQL UPDATE-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!