MySQL :: MySQL 8.0 Referenzhandbuch :: 1.7.3.1 PRIMARY KEY und UNIQUE Index-Einschränkungen

1.7.3.1 PRIMARY KEY- und UNIQUE-Index-Beschränkungen

Normalerweise treten Fehler bei Datenänderungsanweisungen (wie INSERT oder UPDATE) auf, die Primärschlüssel-, Unique-Key- oder Fremdschlüssel-Beschränkungen verletzen würden. Wenn Sie eine transaktionale Speicher-Engine wie InnoDB verwenden, rollt MySQL die Anweisung automatisch zurück. Wenn Sie eine nicht-transaktionale Speicher-Engine verwenden, bricht MySQL die Verarbeitung der Anweisung bei der Zeile ab, bei der der Fehler aufgetreten ist, und lässt alle verbleibenden Zeilen unbearbeitet.

MySQL unterstützt ein IGNORE-Schlüsselwort für INSERTUPDATE und so weiter. Wenn Sie es verwenden, ignoriert MySQL Verletzungen des Primärschlüssels oder des eindeutigen Schlüssels und setzt die Verarbeitung mit der nächsten Zeile fort. Siehe den Abschnitt für die Anweisung, die Sie verwenden (Abschnitt 13.2.6, „INSERT-Anweisung“, Abschnitt 13.2.13, „UPDATE-Anweisung“ usw.).

Informationen über die Anzahl der tatsächlich eingefügten oder aktualisierten Zeilen erhalten Sie mit der mysql_info() C API-Funktion. Sie können auch die Anweisung SHOW WARNINGS verwenden. Siehe mysql_info(), und Abschnitt 13.7.7.42, „Anweisung SHOW WARNINGS“.

InnoDB und NDB Tabellen unterstützen Fremdschlüssel. Siehe Abschnitt 1.7.3.2, „FOREIGN KEY Constraints“.