Heim > Datenbank > MySQL-Tutorial > Bietet MySQL ein Äquivalent zur MERGE-Anweisung?

Bietet MySQL ein Äquivalent zur MERGE-Anweisung?

DDD
Freigeben: 2024-12-30 07:13:09
Original
499 Leute haben es durchsucht

Does MySQL Offer a MERGE Statement Equivalent?

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

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

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!

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