Maison >base de données >tutoriel mysql >Erreur MySQL 150 : Pourquoi ma clé étrangère échoue-t-elle même avec des longueurs de colonnes correspondantes ?
MySQL Errno 150 : Dévoilement de l'écart de clé étrangère
En tentant d'établir des relations entre les tables, vous avez rencontré une erreur de clé étrangère insaisissable avec code 150. Examinons les subtilités de votre script SQL pour identifier la source de ce problème.
Après un examen plus approfondi, l'erreur peut être attribuée à une différence fondamentale dans les types de données entre la clé étrangère et sa colonne référencée. Dans la table "Sections", vous avez défini la colonne "Instructor_ID" comme "varchar(10)" tandis que la clé primaire de la table "Instructors" référencée est "ID" avec un type de données de "varchar(10)." Bien que les longueurs correspondent, les types de données sont distincts.
Cette divergence crée une inadéquation entre les colonnes qui doivent être liées. MySQL exige que la colonne de clé étrangère corresponde au type de données de la colonne de clé primaire référencée. Dans ce cas, vous devez modifier la colonne "Instructor_ID" dans la table "Sections" pour qu'elle corresponde au type de données de la colonne "ID" dans la table "Instructors", qui est "varchar(10)."
Une fois que vous vous êtes assuré que le type de colonne de clé étrangère s'aligne sur le type de colonne de clé primaire référencé, MySQL devrait être en mesure d'établir la relation de clé étrangère sans rencontrer l'erreur Errno 150.
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!