Maison > base de données > tutoriel mysql > Comment créer une relation de clé étrangère avec une clé primaire composite MySQL ?

Comment créer une relation de clé étrangère avec une clé primaire composite MySQL ?

Barbara Streisand
Libérer: 2025-01-04 13:07:14
original
132 Les gens l'ont consulté

How to Create a Foreign Key Relationship with a MySQL Composite Primary Key?

Associer des clés primaires composites dans MySQL

Dans le scénario donné, vous avez deux tables, tutoriel et groupe, où le tutoriel a une clé primaire composite clé (beggingTime, day et tutorId). Votre objectif est d'établir une relation entre ces tables en créant un champ dans un groupe qui fait référence à la clé primaire composite dans le didacticiel.

Selon la documentation MySQL, il est possible d'établir des mappages de clés étrangères avec des clés composites. Pour ce faire :

  1. Ajouter des colonnes au groupe : Créez trois colonnes dans la table de groupe pour correspondre aux champs de clé primaire composite du didacticiel : beggingTime, day et tutorId.
  2. Définir la relation de clé étrangère : Ajoutez la ligne suivante à la table de groupe définition :
FOREIGN KEY (`beggingTime`,`day`,`tutorId`) REFERENCES tutorial(`beggingTime`,`day`,`tutorId`)
Copier après la connexion

Cela établira une relation de clé étrangère entre la clé primaire composite du didacticiel et les champs correspondants du groupe.

Cependant, il est important de noter que les experts recommandent réarchitecturer la table du didacticiel pour utiliser une seule clé primaire (par exemple, une clé de substitution d'identité). Cela améliore les performances car SQL est optimisé pour les relations impliquant des clés primaires plutôt que des clés composites.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal