MySQLs Alternative zur MERGE-Anweisung
SQL enthält eine Merge-Anweisung, die es Benutzern ermöglicht, INSERT- und UPDATE-Vorgänge in einer einzigen Abfrage zu kombinieren. MySQL unterstützt diese Anweisung jedoch nicht.
Erzielung des Merge-Effekts in MySQL
Obwohl es keine dedizierte MERGE-Anweisung gibt, bietet MySQL eine alternative Lösung:
INSERT...ON DUPLICATE KEY UPDATE
Diese Syntax ermöglicht es Ihnen, neue Zeilen in eine Tabelle einzufügen und gleichzeitig vorhandene Zeilen zu aktualisieren, wenn die Werte in einem UNIQUE- oder PRIMARY KEY-Index bereits vorhanden sind. Wenn die neue Zeile einen doppelten Wert verursacht, führt MySQL die folgenden Schritte aus:
Beispiel:
INSERT INTO my_table (id, name, age) VALUES (1, 'John Doe', 35) ON DUPLICATE KEY UPDATE name = 'Jane Doe', age = 40;
Wenn in diesem Beispiel die Zeile mit der ID 1 bereits vorhanden ist, aktualisiert MySQL den Namen auf „Jane Doe“. und Alter auf 40. Andernfalls wird eine neue Zeile mit den angegebenen Werten eingefügt.
Das obige ist der detaillierte Inhalt vonWie kann ich die Funktionalität der MERGE-Anweisung von SQL in MySQL erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!