Heim >Datenbank >MySQL-Tutorial >Wie kann MySQLs ON DUPLICATE KEY UPDATE Masseneinfügungen und -aktualisierungen effizient verarbeiten?

Wie kann MySQLs ON DUPLICATE KEY UPDATE Masseneinfügungen und -aktualisierungen effizient verarbeiten?

Susan Sarandon
Susan SarandonOriginal
2025-01-11 10:31:42268Durchsuche

How Can MySQL's ON DUPLICATE KEY UPDATE Handle Bulk Inserts and Updates Efficiently?

Optimierung von Masseneinfügungen und -aktualisierungen in MySQL mithilfe von ON DUPLICATE KEY UPDATE

Die Verwaltung eindeutiger Werte bei Masseneinfügungen in MySQL-Tabellen kann komplex sein. Die ON DUPLICATE KEY UPDATE-Klausel bietet eine effiziente Lösung zum gleichzeitigen Einfügen neuer Zeilen und Aktualisieren vorhandener Zeilen basierend auf eindeutigen Schlüsseleinschränkungen.

Diese Anleitung zeigt, wie man Zeilen in eine Tabelle einfügt oder aktualisiert (z. B. „schön“), wobei die Spalte „Name“ als eindeutiger Schlüssel fungiert. Es werden zwei Ansätze vorgestellt:

Für MySQL 8.0.19 und spätere Versionen:

Nutzen Sie Zeilenaliase für prägnante Aktualisierungen:

<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
    -- ... other columns to update ...</code>

Für MySQL-Versionen vor 8.0.19:

Verwenden Sie das Schlüsselwort VALUES, um auf eingefügte Werte zu verweisen:

<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),
    -- ... other columns to update ...</code>

Bei beiden Methoden gibt ON DUPLICATE KEY UPDATE an, welche Spalten geändert werden sollen, wenn ein doppelter eindeutiger Schlüssel erkannt wird. Dies stellt die Datenintegrität sicher und verarbeitet gleichzeitig Einfügungen und Aktualisierungen effizient in einem einzigen Vorgang.

Das obige ist der detaillierte Inhalt vonWie kann MySQLs ON DUPLICATE KEY UPDATE Masseneinfügungen und -aktualisierungen effizient verarbeiten?. 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