Heim >Datenbank >MySQL-Tutorial >Wie gehe ich mit eindeutigen Schlüsseleinschränkungen beim Einfügen oder Aktualisieren in MySQL um?
Einfügen oder Aktualisieren mithilfe eindeutiger Schlüsseleinschränkungen in MySQL
Das Einfügen oder Aktualisieren von Zeilen in eine MySQL-Tabelle kann schwierig sein, wenn Sie mit doppelten Schlüsseleinschränkungen umgehen müssen. Um dieses Problem zu lösen, stellt MySQL die vielseitige Anweisung „INSERT ... ON DUPLICATE KEY UPDATE“ zur Verfügung.
Wie in der Frage angegeben, möchten Sie eine Zeile mit einem eindeutigen Schlüssel in eine Tabelle einfügen. Wenn jedoch bereits eine Zeile mit demselben eindeutigen Schlüssel vorhanden ist, möchten Sie ihren Wert aktualisieren.
Traditionell würde das Einfügen einer Zeile gegen eine Eindeutigkeitsschlüsselbeschränkung verstoßen, was zu einer Fehlermeldung führen würde. „INSERT IGNORE“ unterdrückt Fehler, führt jedoch keinen Aktualisierungsvorgang durch.
Lösung: INSERT ... ON DUPLICATE KEY UPDATE
Die Lösung liegt in der Verwendung der Syntax „INSERT ... ON DUPLICATE KEY UPDATE“. Lassen Sie uns diese Abfrage anhand des bereitgestellten Beispiels aufschlüsseln:
<code class="language-sql">INSERT INTO table_name (ID, NAME, AGE) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE NAME="A", AGE=19</code>
Anleitung:
Wenn die Zeile mit der ID=1 nicht in der Tabelle vorhanden ist, wird eine neue Zeile mit dem angegebenen Wert eingefügt. Wenn jedoch bereits eine Zeile mit der ID=1 vorhanden ist, werden nur die Spalten „NAME“ und „AGE“ mit den angegebenen Werten aktualisiert und die „ID“ bleibt unverändert.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit eindeutigen Schlüsseleinschränkungen beim Einfügen oder Aktualisieren in MySQL um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!