Vermeiden Sie INSERT IGNORE für die Behandlung doppelter Schlüssel
Um zu verhindern, dass doppelte Tags das Einfügen von Daten beeinträchtigen, ist es wichtig, geeignete Strategien zur Fehlerbehandlung zu implementieren. Auch wenn die Versuchung aufkommt, INSERT IGNORE zu verwenden, ist es wichtig, seine Einschränkungen zu verstehen.
Nachteile von INSERT IGNORE
INSERT IGNORE ignoriert Fehler wahllos, was zu Datenverlust führen kann Integritätsprobleme. Dieses Verhalten ist für Szenarien ungeeignet, in denen doppelte Schlüssel in Betracht gezogen werden sollten.
Bevorzugter Ansatz
Anstatt INSERT IGNORE zu verwenden, sollten Sie die Verwendung von ON DUPLICATE KEY UPDATE in Betracht ziehen. Mit diesem Ansatz können Sie Aktionen festlegen, die ausgeführt werden sollen, wenn ein doppelter Schlüssel gefunden wird. Bei eindeutigen Tags können Sie den vorhandenen Tag-Wert aktualisieren.
INSERT INTO table_tags (tag) VALUES ('tag_a'),('tab_b'),('tag_c') ON DUPLICATE KEY UPDATE tag=tag;
Beispielausgabe
Diese Abfrage fügt je nach Bedarf neue Tags ein oder aktualisiert vorhandene ob das Tag eindeutig ist oder nicht:
Abfrage OK, 0 Zeilen betroffen (0,07 Sek.)
Das obige ist der detaillierte Inhalt vonWie gehe ich mit doppelten Schlüsseln in SQL-Einfügungen um: INSERT IGNORE vs. ON DUPLICATE KEY UPDATE?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!