Maison > base de données > tutoriel mysql > Pourquoi MySQL génère-t-il une erreur « La contrainte de clé étrangère est mal formée » et comment puis-je la corriger ?

Pourquoi MySQL génère-t-il une erreur « La contrainte de clé étrangère est mal formée » et comment puis-je la corriger ?

Patricia Arquette
Libérer: 2025-01-19 05:54:10
original
215 Les gens l'ont consulté

Why Does MySQL Throw a

Erreur de contrainte de clé étrangère MySQL : incompatibilité de type

Dans MySQL, lorsque vous essayez d'établir une contrainte de clé étrangère entre les tables table1 et table2, l'erreur « La contrainte de clé étrangère est mal formatée » peut se produire. Cette contrainte est conçue pour lier la colonne IDFromTable1 de la table2 à l'ID de colonne de la table1 afin de garantir l'intégrité référentielle.

Bien que les deux tables utilisent le moteur de stockage InnoDB et que le type de données des colonnes soit de type char, l'erreur existe toujours. La source du problème réside dans la différence dans les propriétés des colonnes.

Plus précisément, la colonne de clé étrangère IDFromTable1 et l'ID de colonne référencé ont des types ou des longueurs de données différents. Pour résoudre ce problème, vous devez vous assurer que les colonnes correspondantes participant à la relation de clé étrangère ont exactement le même type de données et la même longueur.

Dans cet exemple, la colonne de clé étrangère est définie comme SMALLINT(5) UNSIGNED et la colonne référencée est INT(10) UNSIGNED. Cette incompatibilité de type est résolue en alignant les attributs de colonne, établissant ainsi avec succès la contrainte de clé étrangère.

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