Beim Einfügen von Daten in MySQL-Datenbanken mit eindeutigen Feldern ist es oft wünschenswert, mit Duplikaten umzugehen Einträge werden ordnungsgemäß verarbeitet, ohne dass Fehler auftreten. In diesem Artikel werden verschiedene Ansätze zum Ignorieren doppelter Eingabefehler beim Einfügen untersucht.
Die INSERT...IGNORE-Syntax ermöglicht das Einfügen von Datensätze in einer Tabelle und ignoriert mögliche doppelte Fehler. Wenn ein Eintrag mit demselben eindeutigen Feldwert vorhanden ist, wird das Einfügen einfach übersprungen, ohne einen Fehler auszulösen.
Die REPLACE INTO-Syntax ähnelt INSERT...IGNORE, aber es überschreibt vorhandene Datensätze mit demselben eindeutigen Feldwert. Dies kann nützlich sein, wenn Sie beabsichtigen, den alten Datensatz durch den neuen zu ersetzen.
Das INSERT... Mit der ON DUPLICATE KEY UPDATE-Syntax können Sie Aktionen angeben, die ausgeführt werden sollen, wenn ein doppelter Eintrag auftritt. Sie können den vorhandenen Datensatz mit den neuen Werten aktualisieren, einen neuen Wert für eine bestimmte Spalte festlegen oder andere Vorgänge ausführen.
Berücksichtigen Sie Folgendes Folgende Tabelle mit eindeutiger Spalte „id“:
id | value |
---|---|
1 | 1 |
Um die Funktionalität dieser Methoden zu demonstrieren:
<code class="sql">REPLACE INTO tbl VALUES (1, 50);</code>
Dadurch wird der vorhandene Datensatz mit der ID=1 durch den neuen Wert value=50 ersetzt.
<code class="sql">INSERT IGNORE INTO tbl VALUES (1, 10);</code>
Dadurch wird der doppelte Eintrag ignoriert und die Tabelle bleibt unverändert.
<code class="sql">INSERT INTO tbl VALUES (1, 200) ON DUPLICATE KEY UPDATE value=200;</code>
Dadurch wird der vorhandene Datensatz mit der ID=1 auf den Wert=200 aktualisiert.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit doppelten Eingabefehlern bei MySQL-Einfügungen um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!