Heim > Datenbank > MySQL-Tutorial > EINFÜGEN BEI DUPLICATE KEY: Wie kann ich doppelte Einfügungen in SQL ignorieren?

EINFÜGEN BEI DUPLICATE KEY: Wie kann ich doppelte Einfügungen in SQL ignorieren?

Mary-Kate Olsen
Freigeben: 2025-01-05 03:35:38
Original
492 Leute haben es durchsucht

INSERT ON DUPLICATE KEY: How Can I Ignore Duplicate Inserts in SQL?

INSERT ON DUPLICATE KEY: Wahrung der Datenintegrität

Bei der Datenbankverwaltung ist es wichtig, Szenarien mit doppelten Daten effizient zu handhaben. Eine Möglichkeit besteht darin, doppelte Einfügungen durch die Definition eindeutiger Schlüssel zu verhindern. In manchen Fällen kann es jedoch wünschenswert sein, doppelte Einfügungen einfach zu ignorieren, ohne einen Fehler zu erzeugen.

Angesichts der bereitgestellten Tabellenstruktur und der Notwendigkeit, eine Zeile nur dann hinzuzufügen, wenn der Schlüssel nicht vorhanden ist, entsteht das folgende Problem :

Problem: Gibt es eine Syntax ähnlich wie „INSERT ... ON DUPLICATE KEY DO?“ NICHTS"?

Die Antwort ist positiv:

Lösung 1: INSERT ... ON DUPLICATE KEY UPDATE>

Diese Syntax stellt sicher, dass keine Aktualisierung durchgeführt wird die Zeile, auch wenn die ID sich selbst neu zugewiesen wird. Dies führt effektiv dazu, dass doppelte Einfügungen ignoriert werden.

Wenn jedoch Fehler (z. B. Konvertierungsfehler, Fremdschlüsselfehler) oder die mögliche Erschöpfung eines Autoinkrementierungsfelds keine Rolle spielen, kann ein alternativer Ansatz verwendet werden:

Lösung 2: INSERT IGNORE INTO ...

Diese Syntax ignoriert vollständig Zeilen, die zu einem Fehler durch doppelte Schlüssel geführt hätten, wodurch effektiv das gewünschte Verhalten erreicht würde, indem die Zeile hinzugefügt würde, wenn sie noch nicht vorhanden wäre, und sie andernfalls stillschweigend ignoriert würde.

Das obige ist der detaillierte Inhalt vonEINFÜGEN BEI DUPLICATE KEY: Wie kann ich doppelte Einfügungen in SQL ignorieren?. 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