Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens l'erreur MySQL 1215 : \'Impossible d'ajouter une contrainte de clé étrangère\' ?
Erreur MySQL 1215 : "Impossible d'ajouter une contrainte de clé étrangère"
Lorsque vous essayez de créer une contrainte de clé étrangère dans MySQL, il est crucial de assurez-vous que le champ référencé et le champ de clé étrangère respectent des exigences spécifiques. Voici comment diagnostiquer et résoudre cette erreur :
Cohérence du moteur
Type et longueur des données
Collation
Unicité
Gestion des valeurs nulles
Symptômes supplémentaires
Si l'erreur persiste, exécutez la commande SHOW ENGINE INNODB STATUS ; pour révéler des détails plus spécifiques.
Déclaration incorrecte
L'instruction SQL fournie crée une table nommée "cours" avec une contrainte de clé étrangère faisant référence à la table "département" sur le Champ « nom_du_service ». Toutefois, cette instruction est incorrecte car il lui manque la spécification du type de données pour le champ « nom_dept ». Pour remédier à cela, la déclaration doit être modifiée comme suit :
<code class="sql">create table course ( course_id varchar(7), title varchar(50), dept_name varchar(20), credits numeric(2,0), primary key(course_id), foreign key (dept_name) references department(dept_name) );</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!