Heim >Datenbank >MySQL-Tutorial >Wie füge ich Zeilen in MySQL mit INSERT...ON DUPLICATE KEY UPDATE ein oder aktualisiere sie?
Umgang mit doppelten Schlüsselkonflikten in MySQL: INSERT...ON DUPLICATE KEY UPDATE
Beim Einfügen von Daten in eine MySQL-Tabelle mit einer eindeutigen Schlüsselbeschränkung entsteht ein Konflikt, wenn ein doppelter Schlüssel auftritt. Die INSERT...ON DUPLICATE KEY UPDATE
-Anweisung löst dieses Problem auf elegante Weise, indem sie es Ihnen ermöglicht, basierend auf dem eindeutigen Schlüssel entweder eine neue Zeile einzufügen oder eine vorhandene zu aktualisieren.
Betrachten wir eine Tabelle mit einer eindeutigen „ID“-Spalte. Wenn Sie versuchen, eine Zeile mit einer vorhandenen ID einzufügen, schlägt eine Standardanweisung INSERT
fehl. Das INSERT...ON DUPLICATE KEY UPDATE
bietet eine Lösung.
Beispielszenario:
Stellen Sie sich vor, Sie fügen Daten zu einer users
Tabelle hinzu:
INSERT INTO users (ID, Name, Age) VALUES (1, "Bob", 30);
Wenn ein Benutzer mit ID = 1
bereits existiert, schlägt diese Abfrage fehl.
Die Lösung:
Verwenden Sie INSERT...ON DUPLICATE KEY UPDATE
:
INSERT INTO users (ID, Name, Age) VALUES (1, "Bob", 30) ON DUPLICATE KEY UPDATE Name = "Bob", Age = 30;
Erklärung:
INSERT
gibt die einzufügenden Daten an.ON DUPLICATE KEY UPDATE
bestimmt die Aktualisierungsaktion, wenn ein doppelter Schlüssel gefunden wird.ID = 1
vorhanden ist, werden die Spalten Name
und Age
mit den bereitgestellten Werten aktualisiert. Wenn ID = 1
nicht existiert, wird eine neue Zeile eingefügt.Dieser Ansatz stellt die Datenintegrität sicher und verhindert gleichzeitig Fehler, die durch doppelte Schlüsseleinfügungen verursacht werden. Es ist eine übersichtliche und effiziente Möglichkeit, Datenaktualisierungen in MySQL zu verwalten.
Das obige ist der detaillierte Inhalt vonWie füge ich Zeilen in MySQL mit INSERT...ON DUPLICATE KEY UPDATE ein oder aktualisiere sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!