Maison >base de données >tutoriel mysql >Pourquoi ne puis-je pas ajouter une contrainte de clé étrangère (code d'erreur 1215) ?
Comprendre le code d'erreur 1215 : "Impossible d'ajouter une contrainte de clé étrangère (clés étrangères)" et ses alternatives
Lors de l'établissement de relations entre des tables à l'aide de clés étrangères clés, il est crucial d’assurer la cohérence des données. Cependant, vous pouvez rencontrer le code d'erreur 1215 : « Impossible d'ajouter une contrainte de clé étrangère (clés étrangères) » lors de la création de la base de données. Cette erreur survient souvent lorsque les types de données des colonnes référencées et référencées ne s'alignent pas.
Dans votre cas spécifique, la colonne classLeader de la table de classe a un type de données VARCHAR(255), tandis que la colonne studentID référencée dans la table des étudiants est probablement un INT. Pour résoudre cette erreur, assurez-vous que les types de données des deux colonnes correspondent.
Concernant vos questions :
Lors du remplissage de tables avec des clés étrangères :
Oui, vous ne pouvez pas remplir directement la colonne désignée pour les clés étrangères. Au lieu de cela, vous devez d'abord insérer des données dans la table référencée, puis remplir la colonne de clé étrangère avec l'ID correspondant de l'enregistrement inséré.
Clés étrangères en tant que clés :
Les clés étrangères sont essentielles au maintien de l’intégrité des données. Cependant, contrairement aux clés primaires, ce ne sont pas des identifiants uniques pour les lignes d’une table. Au lieu de cela, ils établissent des relations entre les lignes de différentes tables. Les clés primaires garantissent que chaque ligne d'une table est distincte, tandis que les clés étrangères garantissent que les lignes d'une table correspondent aux lignes existantes d'une autre table.
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!