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

Comment appliquer une contrainte de clé étrangère à partir de tables non liées dans Mysql ?

Utilisez les relations d'identification , semblable à ceci :

Notez comment UserGroup PK migre du haut de ce "diamant", vers le bas des deux "côtés" et fusionne au "bas". Étant donné qu'une ligne en bas ne contient qu'un seul champ identifiant le haut, elle ne peut pas être liée à plusieurs lignes en haut.

Vous pouvez toujours conserver vos autres clés si vous en avez besoin à d'autres fins et/ou faire alterner les clés ci-dessus (i.e. contraintes UNIQUE)...

BTW, utilisez la dénomination de manière plus cohérente - je recommanderais de toujours utiliser des champs PK singuliers et préfixés avec des noms de table non abrégés...