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!