Maison >base de données >tutoriel mysql >Une clé étrangère peut-elle référencer une colonne de clé non primaire ?
La clé étrangère fait référence à une colonne de clé non primaire
La relation entre les clés étrangères et les colonnes de clé non primaire peut présenter des défis. Dans cet exemple, la table référencée par la clé étrangère contient une colonne nommée « AnotherID » qui n'est pas désignée comme clé primaire.
Une solution possible est de s'assurer que la colonne "AnotherID" a une contrainte unique. Books Online soutient cela, affirmant que les contraintes de clé étrangère peuvent être liées à des contraintes uniques, et pas seulement à des clés primaires. Modifier la table pour inclure une contrainte unique sur "AnotherID" permettra de créer la clé étrangère.
Cependant, il est important de considérer l’impact potentiel de tels changements. L'application de contraintes uniques peut introduire des complexités ou des limitations supplémentaires, et il est généralement recommandé d'utiliser les clés primaires comme cible des clés étrangères autant que possible. Dans les situations où la structure des données ne peut pas être modifiée, la mise en œuvre de contraintes uniques sur les colonnes de clé non primaire peut être une option viable pour maintenir l'intégrité référentielle.
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!