Mysql
 sql >> Base de données >  >> RDS >> Mysql

Est-il possible de référencer une colonne en tant que plusieurs clés étrangères ?

Non.

Autrement dit, vous ne pouvez pas créer une contrainte de clé étrangère de cette façon. Vous pouvez cependant utiliser une clé étrangère sans contrainte de clé étrangère.

Tout ce qu'une clé étrangère est, c'est la valeur de la clé primaire d'une autre table (ou d'un autre enregistrement dans la même table), qui peut être utilisée dans les jointures. En fait, vous pouvez référencer des champs autres que la clé primaire, si tout ce dont vous avez besoin est d'utiliser la valeur pour les jointures.

Cependant, une contrainte de clé étrangère indique à la base de données d'appliquer la règle selon laquelle pour chaque valeur de clé étrangère dans une table, la table référencée a un enregistrement avec cela comme clé primaire. Faire en sorte que chaque clé étrangère de la table PDF ait une clé primaire DANS LES QUATRE TABLES ne fonctionnera pas pour vous. Alors allez-y et utilisez le champ pour référencer d'autres enregistrements, mais ne créez simplement aucune contrainte de clé étrangère.