Maison > base de données > tutoriel mysql > Pourquoi est-ce que je reçois une erreur de contrainte de clé étrangère (code d'erreur 1215) ?

Pourquoi est-ce que je reçois une erreur de contrainte de clé étrangère (code d'erreur 1215) ?

Mary-Kate Olsen
Libérer: 2024-11-25 01:43:11
original
851 Les gens l'ont consulté

Why Am I Getting a Foreign Key Constraint Error (Error Code 1215)?

Erreur de contrainte de clé étrangère : code d'erreur 1215

Lors de la tentative d'ajout d'une contrainte de clé étrangère à une table, le code d'erreur 1215, " Impossible d'ajouter une contrainte de clé étrangère (clés étrangères)", peut se produire. Cette erreur indique une inadéquation dans les types de données entre la colonne référencée et la colonne de clé étrangère.

Analyse des erreurs :

Dans l'exemple donné, l'erreur provient probablement du contrainte de clé étrangère suivante :

FOREIGN KEY (classLeader) REFERENCES student(studentID)
Copier après la connexion

Ici, la colonne classLeader a un type de données de VARCHAR(255), tandis que la La colonne studentID dans la table étudiant référencée a un type de données INT. Les types de données des colonnes de clé référencée et étrangère doivent correspondre.

Solutions alternatives :

Pour résoudre cette erreur, assurez-vous que les types de données des colonnes de clé référencée et étrangère correspondre. Dans ce cas, la colonne classLeader peut être modifiée pour avoir un type de données INT correspondant à la colonne studentID.

Remplir les tables avec des clés étrangères :

Lors du remplissage d'un table qui a une contrainte de clé étrangère, il n’est pas possible d’insérer directement des données dans le champ de clé étrangère. Au lieu de cela, les données doivent d'abord être insérées dans la table référencée (par exemple, la table des étudiants). Le champ de clé étrangère (par exemple, classID) peut ensuite être renseigné avec la valeur de clé primaire correspondante de la table référencée.

Clés étrangères en tant que clés :

Les clés étrangères sont considérée comme un type de clé, en particulier une clé logique. Ce ne sont pas des clés primaires ou des clés uniques, mais elles jouent un rôle crucial pour garantir l'intégrité des données en maintenant les relations entre les tables. Les clés étrangères renforcent l'intégrité référentielle, ce qui évite les incohérences dans les données en garantissant que les enregistrements de la table enfant (par exemple, classe) ont des enregistrements correspondants dans la table parent (par exemple, étudiant).

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