Heim >Datenbank >MySQL-Tutorial >Wie erreicht man die Funktionalität „INSERT ... ON DUPLICATE KEY (nichts tun)' in SQL?

Wie erreicht man die Funktionalität „INSERT ... ON DUPLICATE KEY (nichts tun)' in SQL?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-04 19:18:10280Durchsuche

How to Achieve

Erreichen der Funktionalität „INSERT ... ON DUPLICATE KEY (nichts tun)“

Im bereitgestellten Szenario besteht das Ziel darin, einen einzufügen Zeile in eine Tabelle mit einem eindeutigen Schlüssel einfügen, ohne einen Fehler auszulösen oder die Zeile zu aktualisieren, wenn der Schlüssel bereits vorhanden ist.

Option 1: INSERT ... ON DUPLICATE KEY UPDATE

Während die bereitgestellte Syntax eine Option „INSERT ... ON DUPLICATE KEY UPDATE“ vorschlägt, bietet sie keine Möglichkeit, die Datenbank explizit anzuweisen, „ nichts tun." Stattdessen müssen Aktualisierungswerte für doppelte Schlüsselfälle angegeben werden.

Option 2: INSERT ... ON DUPLICATE KEY UPDATE>

Ein alternativer Ansatz ist die Verwendung von „INSERT ...“ BEI DUPLICATE KEY UPDATE>

Option 3: IGNORIEREN EINFÜGEN

Für Szenarien, in denen Fehler stellen kein Problem dar, die Syntax „INSERT IGNORE“ kann verwendet werden. Dieser Ansatz ignoriert alle Fehler, die durch den Einfügevorgang ausgelöst worden wären, einschließlich Fehlern aufgrund doppelter Schlüssel und der Erschöpfung des Felds durch automatische Inkrementierung. Der Fehler wird einfach unterdrückt, ohne die vorhandenen Zeilen zu ändern .

Empfehlungen

Für Fälle, in denen Fehler kritisch sind und die Erschöpfung der automatischen Inkrementierung ein Problem darstellt, „INSERT ... AUF DUPLICATE KEY UPDATE>

Das obige ist der detaillierte Inhalt vonWie erreicht man die Funktionalität „INSERT ... ON DUPLICATE KEY (nichts tun)' in SQL?. 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