Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens le code d'erreur MySQL 1215 : impossible d'ajouter une contrainte de clé étrangère ?

Pourquoi est-ce que j'obtiens le code d'erreur MySQL 1215 : impossible d'ajouter une contrainte de clé étrangère ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-26 08:16:091001parcourir

Why Am I Getting MySQL Error Code 1215: Cannot Add Foreign Key Constraint?

Code d'erreur 1215 : contrainte de clé étrangère et cohérence des données

Lors de la définition de contraintes de clé étrangère pour garantir la cohérence des données entre les tables, certaines exigences doivent être rencontré. Le code d'erreur 1215, « Impossible d'ajouter une contrainte de clé étrangère (clés étrangères) » se produit lorsque ces conditions ne sont pas remplies.

L'erreur survient en raison d'une incompatibilité de type de données entre la colonne de clé étrangère et la colonne référencée. Dans ce cas, la colonne de clé étrangère « classLeader » a un type de données VARCHAR(255), tandis que la colonne référencée « studentID » dans la table « student » a un type de données INT. Les clés étrangères doivent avoir le même type de données que la colonne référencée.

De plus, la table et la colonne référencées doivent exister. La table "student" doit être créée avant de tenter de définir la contrainte de clé étrangère, et la colonne "studentID" doit être la clé primaire ou avoir un index unique.

Enfin, il est crucial de comprendre que les clés étrangères sont pas de vraies clés. Bien qu'ils soient utilisés pour garantir l'intégrité des données, ils ne participent pas aux contrôles d'indexation ou d'unicité.

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!

Déclaration:
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