Normalerweise tritt ein Fehler auf, wenn Sie versuchen, einen
Datensatz mit INSERT
bzw.
UPDATE
einzufügen oder zu aktualisieren,
und dadurch eine Unvereinbarkeit bezüglich eines
Primärschlüssels, eines eindeutigen Schlüssels oder eines
Fremdschlüssels erfolgen würde. Verwenden Sie eine
transaktionale Speicher-Engine wie InnoDB
,
dann macht MySQL die Anweisung automatisch rückgängig.
Nutzen Sie hingegen eine nichttransaktionale Speicher-Engine,
dann beendet MySQL die Verarbeitung der Anweisung bei dem
Datensatz, an dem der Fehler aufgetreten ist, und lässt alle
nachfolgenden Datensätze unverändert.
Für den Fall, dass Sie solche Unvereinbarkeiten ignorieren
wollen, unterstützt MySQL das Schlüsselwort
IGNORE
für INSERT
und
UPDATE
. In diesem Fall ignoriert MySQL
sämtliche Schlüsselunvereinbarkeiten und fährt mit der
Verarbeitung des nächsten Datensatzes fort. Siehe auch
Abschnitt 13.2.4, „INSERT
“, und Abschnitt 13.2.10, „UPDATE
“.
Informationen zur Anzahl der tatsächlich eingefügten oder
aktualisierten Datensätze erhalten Sie über die
C-API-Funktion mysql_info()
. Ab MySQL 4.1
können Sie auch die Anweisung SHOW
WARNINGS
verwenden. Siehe auch
Abschnitt 24.2.3.34, „mysql_info()
“, und
Abschnitt 13.5.4.25, „SHOW WARNINGS
“.
Derzeit unterstützen nur InnoDB
-Tabellen
Fremdschlüssel. Siehe auch
Abschnitt 14.2.6.4, „Fremdschlüssel-Beschränkungen“. Die
Fremdschlüsselunterstützung in
MyISAM
-Tabellen ist zur Implementierung in
MySQL 5.2 vorgesehen. Siehe auch Abschnitt 1.6, „MySQL-Roadmap“.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.