Heim > Datenbank > MySQL-Tutorial > Wie kann ich mit LIMIT eine bestimmte Anzahl von Zeilen in MySQL korrekt aktualisieren?

Wie kann ich mit LIMIT eine bestimmte Anzahl von Zeilen in MySQL korrekt aktualisieren?

DDD
Freigeben: 2024-12-05 06:20:10
Original
222 Leute haben es durchsucht

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

MySQL – UPDATE-Abfrage mit LIMIT

Dieser Artikel befasst sich mit den Herausforderungen, die beim Versuch auftreten, bestimmte Zeilen über eine LIMIT-Klausel in einer MySQL-Datenbank zu aktualisieren . Das Ziel besteht darin, Zeilen innerhalb eines angegebenen Bereichs von Zeilen-IDs zu aktualisieren.

Syntaxfehler und korrekte Abfrage

Die von Ihnen bereitgestellte Abfrage „UPDATE oltp_db.users SET p_id = 3 LIMIT 1001, 1000", ist syntaktisch falsch. Die korrekte Syntax für die Verwendung von LIMIT in einer UPDATE-Abfrage besteht darin, eine Startzeilennummer (Offset) und eine Anzahl der zu aktualisierenden Zeilen anzugeben. Die richtige Abfrage sollte lauten:

UPDATE `oltp_db`.`users` SET p_id = 3 LIMIT 1001, 1000;
Nach dem Login kopieren

Zeilen mit NULL-Werten aktualisieren

Ihre Abfrage „UPDATE oltp_db.users SET p_id = 3 WHERE p_id = null“, ist auch falsch. Der Gleichheitsoperator „=" kann nicht mit dem NULL-Wert verwendet werden. Um Zeilen mit NULL-Werten zu aktualisieren, verwenden Sie den Operator IS NULL wie folgt:

UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id IS NULL;
Nach dem Login kopieren

Aktualisieren mehrerer Zeilen mit LIMIT

Um die Anzahl der aktualisierten Zeilen zu begrenzen, verwenden Sie eine Unterabfrage zum Auswählen eines bestimmten Bereichs von Zeilen-IDs, wie in der folgenden Abfrage gezeigt:

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
)
Nach dem Login kopieren

Diese Abfrage aktualisiert Zeilen mit Die Spalte „Name“ ist auf „Test“ gesetzt, wobei die Zeilen-IDs in den angegebenen Bereich fallen. Die innere Unterabfrage wählt die ersten 10 Zeilen-IDs aus der Tabelle aus, die dann in der IN-Klausel der äußeren Aktualisierungsabfrage verwendet werden.

Das obige ist der detaillierte Inhalt vonWie kann ich mit LIMIT eine bestimmte Anzahl von Zeilen in MySQL korrekt aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage