Heim >Datenbank >MySQL-Tutorial >Wie ignoriere ich doppelte Schlüssel beim Einfügen von Daten in MySQL?

Wie ignoriere ich doppelte Schlüssel beim Einfügen von Daten in MySQL?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-04 02:53:44997Durchsuche

How to Ignore Duplicate Keys When Inserting Data into MySQL?

Umgang mit doppelten Schlüsseln in MySQL: INSERT und ON DUPLICATE KEY

Das Einfügen von Zeilen in eine Tabelle mit eindeutigen Schlüsseln kann eine Herausforderung darstellen Sie müssen doppelte Einträge vermeiden. Die Standardsyntax für den Umgang mit Duplikaten besteht in der Verwendung von INSERT ... ON DUPLICATE KEY UPDATE ..., wodurch die vorhandene Zeile mit den bereitgestellten Werten aktualisiert wird. Was aber, wenn Sie kein Update durchführen und doppelte Einfügungen einfach ignorieren möchten?

Glücklicherweise gibt es für dieses Szenario eine Lösung. Anstatt die UPDATE-Klausel zu verwenden, können Sie die folgende Syntax verwenden:

INSERT ... ON DUPLICATE KEY UPDATE>

Durch die Zuweisung des Primärschlüssels zu sich selbst führt diese Anweisung im Wesentlichen nichts aus, wenn ein doppelter Schlüssel gefunden wird. Die Zeile wird ohne Fehler oder Aktualisierungsaktion übersprungen.

Eine weitere Option, die geeignet ist, wenn Sie sich nicht um mögliche Fehler kümmern, ist die Verwendung von INSERT IGNORE:

INSERT IGNORE INTO <table_name> (...) VALUES (...)

Diese Anweisung wird Versuchen Sie, eine Zeile einzufügen, und ignorieren Sie dabei alle Fehler, die aufgrund doppelter Schlüssel oder anderer Faktoren auftreten können. Es ist jedoch wichtig zu beachten, dass die Verwendung von INSERT IGNORE bestimmte Einschränkungen haben kann, wie z. B. die Erschöpfung des Felds für die automatische Inkrementierung und mögliche Fremdschlüsselfehler.

Das obige ist der detaillierte Inhalt vonWie ignoriere ich doppelte Schlüssel beim Einfügen von Daten in MySQL?. 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