Heim >Datenbank >MySQL-Tutorial >Wie kann ich mehrere Datensatzaktualisierungen in einer einzigen MySQL-Abfrage durchführen?
Effiziente Aktualisierung mehrerer MySQL-Datensätze
Während die mehrzeilige INSERT-Funktionalität von MySQL weithin bekannt ist, wird ihre Fähigkeit, mehrere Datensätze gleichzeitig zu aktualisieren, oft übersehen. Diese Technik verbessert die Effizienz im Vergleich zur Ausführung einzelner UPDATE-Anweisungen erheblich.
Betrachten Sie diese Beispieltabelle:
<code>Name id Col1 Col2 Row1 1 6 1 Row2 2 2 3 Row3 3 9 5 Row4 4 16 8</code>
Anstelle mehrerer separater UPDATE-Anweisungen wie diese:
<code>UPDATE table SET Col1 = 1 WHERE id = 1; UPDATE table SET Col1 = 2 WHERE id = 2; UPDATE table SET Col2 = 3 WHERE id = 3; UPDATE table SET Col1 = 10 WHERE id = 4; UPDATE table SET Col2 = 12 WHERE id = 4;</code>
Sie können das gleiche Ergebnis mit einer einzigen, effizienteren Abfrage erzielen:
<code>INSERT INTO table (id,Col1,Col2) VALUES (1,1,1),(2,2,3),(3,9,3),(4,10,12) ON DUPLICATE KEY UPDATE Col1=VALUES(Col1),Col2=VALUES(Col2);</code>
Dies nutzt die ON DUPLICATE KEY UPDATE
-Klausel. Wenn bereits eine Zeile mit dem angegebenen id
vorhanden ist, werden die entsprechenden Col1
- und Col2
-Werte aktualisiert. Wenn die Zeile nicht vorhanden ist, wird eine neue Zeile eingefügt. Dieser Ansatz ist wesentlich schneller und ressourcenschonender als die Ausführung mehrerer einzelner UPDATE-Abfragen.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Datensatzaktualisierungen in einer einzigen MySQL-Abfrage durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!