Heim >Datenbank >MySQL-Tutorial >Wie verwende ich MySQLs ON DUPLICATE KEY UPDATE für mehrere Zeilen?

Wie verwende ich MySQLs ON DUPLICATE KEY UPDATE für mehrere Zeilen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-11 08:14:42516Durchsuche

How to Use MySQL's ON DUPLICATE KEY UPDATE for Multiple Rows?

Effizienter Umgang mit mehreren Zeilen mit MySQLs ON DUPLICATE KEY UPDATE

MySQL bietet einen optimierten Ansatz für die Verwaltung mehrerer Zeileneinfügungen bei gleichzeitiger Überprüfung und Aktualisierung vorhandener eindeutiger Werte. Dies wird mithilfe der ON DUPLICATE KEY UPDATE-Klausel erreicht. Diese Funktion ermöglicht bedingte Aktualisierungen oder Einfügungen bestimmter Felder innerhalb einer einzelnen Abfrage.

Um vorhandene Zeilen selektiv zu aktualisieren und neue hinzuzufügen, nutzen Sie einen Alias ​​oder das Schlüsselwort VALUES in Verbindung mit ON DUPLICATE KEY UPDATE.

MySQL 8.0.19 und höher (mit einem Alias):

<code class="language-sql">INSERT INTO beautiful (name, age)
    VALUES
    ('Helen', 24),
    ('Katrina', 21),
    ('Samia', 22),
    ('Hui Ling', 25),
    ('Yumie', 29)
    AS new
ON DUPLICATE KEY UPDATE
    age = new.age</code>

MySQL 8.0.19 und früher (unter Verwendung des Schlüsselworts VALUES):

<code class="language-sql">INSERT INTO beautiful (name, age)
    VALUES
    ('Helen', 24),
    ('Katrina', 21),
    ('Samia', 22),
    ('Hui Ling', 25),
    ('Yumie', 29)
ON DUPLICATE KEY UPDATE
    age = VALUES(age)</code>

Diese Beispiele zeigen, wie Daten basierend auf vorhandenen eindeutigen Schlüsseln aktualisiert oder eingefügt werden. Wenn bereits ein eindeutiger Schlüssel vorhanden ist, werden die angegebenen Felder aktualisiert; andernfalls wird eine neue Zeile eingefügt. Das Schlüsselwort VALUES oder der Alias ​​new verweist auf die Werte, die in die INSERT-Anweisung eingefügt werden.

Das obige ist der detaillierte Inhalt vonWie verwende ich MySQLs ON DUPLICATE KEY UPDATE für mehrere Zeilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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