Erreur MySQL 150 : non-concordance du type de référence de clé étrangère
Lors de la tentative de création d'une base de données avec plusieurs tables, un utilisateur a rencontré une erreur : " Code d'erreur : 1005. Impossible de créer la table '336_project.sections' (errno : 150)." Cette erreur est liée à l'utilisation de clés étrangères.
Après un examen plus approfondi, il a été découvert que les types de données des colonnes associées ne correspondaient pas. Dans ce cas, la colonne "Course_Code" de la table "Sections" a été définie comme un VARCHAR, tandis que la colonne correspondante de la table "Courses" a été définie comme un INT.
MySQL exige que les clés étrangères et primaires les clés des tables associées ont des types de données correspondants. Cette erreur se produit lorsque les types de données ne correspondent pas, même si les noms et la syntaxe des contraintes de clé étrangère semblent corrects.
Solution :
Pour résoudre cette erreur, assurez-vous que les types de données des colonnes associées dans les tables parent et enfant sont identiques. Dans cet exemple, le type de données de la colonne « Course_Code » dans les tables « Sections » et « Courses » doit être modifié en VARCHAR.
Une fois que les types de données correspondent correctement, la contrainte de clé étrangère sera appliqué et la création de la table réussira sans erreur.
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!