Kann MySQL die MERGE-Anweisung nutzen?
Die Integration von INSERT- und UPDATE-Vorgängen in eine einzige Abfrage ist oft wünschenswert. Viele SQL-Datenbanken bieten zu diesem Zweck eine MERGE-Anweisung an. Unterstützt MySQL jedoch eine solche Anweisung?
MySQL und die MERGE-Anweisung
MySQL unterstützt die MERGE-Anweisung nicht explizit. Es bietet jedoch eine Alternative, die eine ähnliche Funktionalität erreicht: INSERT...ON DUPLICATE KEY UPDATE.
Syntax und Verwendung
Das INSERT...ON DUPLICATE KEY Mit der UPDATE-Anweisung können Sie eine neue Zeile in eine Tabelle einfügen. Wenn bereits eine Zeile mit demselben Primärschlüssel oder eindeutigen Schlüssel vorhanden ist, wird die vorhandene Zeile mit der neuen aktualisiert Werte.
Die Syntax lautet wie folgt:
INSERT INTO table (column1, column2, ...) VALUES (value1, value2, ...) ON DUPLICATE KEY UPDATE column1 = new_value1, column2 = new_value2, ...
Beispiel
Um die Verwendung zu veranschaulichen, betrachten Sie das folgende Beispiel:
INSERT INTO Employees (id, name, salary) VALUES (1, 'John Doe', 50000) ON DUPLICATE KEY UPDATE salary = salary + 10000;
Wenn ein Mitarbeiter mit der ID 1 bereits in der Mitarbeitertabelle vorhanden ist, aktualisiert diese Anweisung sein Gehalt durch Hinzufügen von 10000. Andernfalls wird eine neue Zeile für John Doe mit einem Gehalt von 50.000 eingefügt.
Das obige ist der detaillierte Inhalt vonBietet MySQL ein Äquivalent zur MERGE-Anweisung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!