MySQL : : Manuel de référence de MySQL 8.0 : : 1.7.3.1 Contraintes de clé primaire et d’index UNIQUE

1.7.3.1 Contraintes de clé primaire et d’index UNIQUE

Normalement, des erreurs se produisent pour les déclarations de changement de données (telles que INSERT ou UPDATE) qui violeraient les contraintes de clé primaire, de clé unique ou de clé étrangère. Si vous utilisez un moteur de stockage transactionnel tel que InnoDB, MySQL annule automatiquement la déclaration. Si vous utilisez un moteur de stockage non transactionnel, MySQL arrête le traitement de la déclaration à la ligne pour laquelle l’erreur s’est produite et laisse toutes les autres lignes non traitées.

MySQL prend en charge un mot-clé IGNORE pour INSERTUPDATE, et ainsi de suite. Si vous l’utilisez, MySQL ignore les violations de clé primaire ou de clé unique et poursuit le traitement avec la ligne suivante. Consultez la section correspondant à l’instruction que vous utilisez (section 13.2.6,  » Instruction INSERT « , section 13.2.13,  » Instruction UPDATE « , et ainsi de suite).

Vous pouvez obtenir des informations sur le nombre de lignes réellement insérées ou mises à jour avec la fonction mysql_info() de l’API C. Vous pouvez également utiliser l’instruction SHOW WARNINGS. Voir mysql_info(), et la section 13.7.7.42,  » Déclaration SHOW WARNINGS « .

Les tables InnoDB et NDB prennent en charge les clés étrangères. Voir la section 1.7.3.2,  » Contraintes de clé étrangère « .