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)
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!