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, l'instruction doit être modifiée comme suit :
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)
);
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3