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 INSERT
UPDATE
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“.