Wie gehe ich mit doppelten Eingabefehlern in MySQL um: INSERT...IGNORE, REPLACE INTO oder INSERT...ON DUPLICATE KEY UPDATE?

Linda Hamilton
Freigeben: 2024-10-27 13:42:29
Original
325 Leute haben es durchsucht

How to Handle Duplicate Entry Errors in MySQL: INSERT...IGNORE, REPLACE INTO, or INSERT...ON DUPLICATE KEY UPDATE?

Fehler bei doppelten Einträgen in MySQL ignorieren

Datenbankeinfügungen können manchmal zu Fehlern bei doppelten Einträgen führen, wenn versucht wird, Datensätze mit eindeutigen Bezeichnern hinzuzufügen. MySQL bietet mehrere Alternativen zur Behandlung solcher Fehler.

Eine Möglichkeit ist die Verwendung der INSERT...IGNORE-Syntax, die die Fehlergenerierung im Falle eines doppelten Eintrags verhindert. Das Einfügen wird einfach ohne Benachrichtigung übersprungen.

Ein anderer Ansatz ist die Verwendung von REPLACE INTO, das einen vorhandenen Datensatz mit demselben Schlüsselwert ersetzt. Anstatt die Einfügung zu ignorieren, wird der alte Datensatz mit dem neuen überschrieben.

Schließlich ermöglicht INSERT...ON DUPLICATE KEY UPDATE die Durchführung eines Aktualisierungsvorgangs bei Begegnungen mit doppelten Schlüsseln. Dies bedeutet, dass MySQL nicht versucht, einen neuen Datensatz einzufügen, sondern den vorhandenen Datensatz mit den bereitgestellten Werten aktualisiert.

Beispiel:

Stellen Sie sich eine Tabelle namens tbl mit Spalten vor ID und Wert. Zunächst enthält es einen einzelnen Eintrag: id=1 und value=1. Das Ausführen der folgenden Anweisungen veranschaulicht das Verhalten jeder Syntax:

  • REPLACE INTO tbl VALUES(1,50);: Aktualisiert den vorhandenen Datensatz, was zu id=1 und value=50 führt.
  • INSERT IGNORE INTO tbl VALUES (1,10);: Fügt nichts ein, da der doppelte Schlüssel vorhanden ist.
  • INSERT INTO tbl VALUES (1,200) ON DUPLICATE KEY UPDATE value=200;: Aktualisiert den vorhandenen Datensatz, was zu id=1 und value=200 führt.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit doppelten Eingabefehlern in MySQL um: INSERT...IGNORE, REPLACE INTO oder INSERT...ON DUPLICATE KEY UPDATE?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!