Dépannage MySQL Errno 150 : erreur de clé étrangère
Lors de la création d'une contrainte de clé étrangère dans MySQL, vous pouvez rencontrer le fameux « Errno 150 » erreur. Cet article vise à identifier la cause première de cette erreur et à proposer une solution.
Le message d'erreur indique généralement « Impossible de créer une table » en raison d'une référence non valide dans une déclaration de clé étrangère. Cela peut survenir lorsqu'il y a une inadéquation entre les types de données des colonnes référencées.
Dans le script donné, une table Sections est définie avec des clés étrangères faisant référence aux tables Cours et Instructeurs. Un examen attentif révèle que les types de données dans les colonnes référencées correspondent : varchar(10) pour Course_Code dans les deux tables et varchar(10) pour ID dans les deux tables.
Cependant, il existe un détail crucial qui peut facilement être négligé : les types de données sous-jacents. Bien que le type de données varchar puisse sembler identique, il permet des longueurs de caractères variables. Cela signifie que la colonne ID de la table Instructors peut stocker des valeurs qui ont un nombre de caractères différent de celui de la colonne Course_Code de la table Courses.
Pour résoudre l'erreur Errno 150, assurez-vous que les colonnes référencées ont des valeurs identiques. types de données sous-jacents, y compris la longueur des caractères et tout attribut spécial (par exemple, non signé ou remplissage nul). En garantissant une correspondance précise des types de données, vous pouvez établir des relations de clé étrangère valides et résoudre cette erreur MySQL courante.
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!