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

Pourquoi MySQL génère-t-il l'erreur 150 : incompatibilité de type de référence de clé étrangère ?

DDD
Libérer: 2024-11-19 18:06:03
original
392 Les gens l'ont consulté

Why Does MySQL Throw Error 150: Foreign Key Reference Type Mismatch?

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal