Maison > base de données > tutoriel mysql > le corps du texte

MySQL Errno 150 : Pourquoi ne puis-je pas créer ma contrainte de clé étrangère ?

Mary-Kate Olsen
Libérer: 2024-11-19 00:25:02
original
604 Les gens l'ont consulté

MySQL Errno 150: Why Can't I Create My Foreign Key Constraint?

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal