DBAtlas · Atlas d'exploitation des bases de données

1215: Cannot add foreign key constraint (impossible d'ajouter la contrainte de clé étrangère)

MySQL

Que signifie cette erreur ?

La contrainte de clé étrangère en cours de définition ne peut pas être créée ; MySQL ne peut pas ajouter la contrainte.

Cause

Incohérence de type de données/longueur/signe (signed-unsigned) ou de jeu de caractères/collation entre la colonne enfant et la colonne référencée, absence d'index/PRIMARY KEY approprié sur la colonne référencée, tables utilisant des moteurs de stockage différents (l'une est MyISAM) ou table référencée pas encore existante.

Comment la corriger

Assurez-vous que les types de colonnes des deux côtés sont EXACTEMENT identiques (par ex. tous deux INT UNSIGNED). Vérifiez que la colonne référencée est couverte par un index (généralement PRIMARY KEY ou UNIQUE). Assurez-vous que les deux tables sont en InnoDB. Utilisez le même charset/la même collation pour les clés de type chaîne. Pour les détails : SHOW ENGINE INNODB STATUS (LATEST FOREIGN KEY ERROR).

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur