Heim >Datenbank >MySQL-Tutorial >Wie kann ich Upserts in MySQL effizient durchführen?
MySQL-Upsert-Vorgang: Aktualisieren, wenn vorhanden, einfügen, wenn nicht vorhanden
Frage:
Gibt es in MySQL eine effiziente Möglichkeit, eine „Upsert“-Operation durchzuführen, d. h. eine neue Zeile einzufügen, wenn sie nicht existiert, und die vorhandene Zeile zu aktualisieren, wenn sie existiert?
Antwort:
Ja, MySQL stellt die INSERT ... ON DUPLICATE KEY UPDATE
-Syntax zur Verfügung, um diese Funktionalität zu erreichen. Hier ist ein Beispiel:
Beispiel:
<code class="language-sql">INSERT INTO `usage` (`thing_id`, `times_used`, `first_time_used`) VALUES (4815162342, 1, NOW()) ON DUPLICATE KEY UPDATE `times_used` = `times_used` + 1</code>
Anleitung:
INSERT INTO
-Klausel versucht, eine neue Zeile mit dem angegebenen Wert einzufügen. ON DUPLICATE KEY UPDATE
-Klausel definiert, was passieren soll, wenn ein eindeutiger Schlüsselkonflikt auftritt (d. h. wenn bereits eine Zeile mit demselben thing_id
vorhanden ist). times_used
hinzugefügt wird. Vorteile:
Das obige ist der detaillierte Inhalt vonWie kann ich Upserts in MySQL effizient durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!