Comment puis-je installer un tableau des groupes de suivre la relation avec la liste des utilisateurs:SQL: clé étrangère avec enfants multiples valeurs
Par exemple, permet de dire que j'ai table des utilisateurs:
user_list
-----------------------------------
first_name | Last Name | user_id |
-----------------------------------
john | Appleseed | 4 |
Jasmin | Applejuice | 6 |
maintenant Je veux créer une table de groupes. Comment puis-je créer une table dans laquelle les utilisateurs peuvent être inclus dans un groupe ou plusieurs groupes. Par exemple, John est inclus dans le Apple_group
mais également inclus dans le Orage_group
. Jasmin est seulement inclus dans le Orange_group
:
groups
----------------------------------------------------
group_name | included_users_ids | group_id |
----------------------------------------------------
Apple_group | 4 | 1 |
Orange_group | 4, 6 | 6 |
En supposant que la table user_list existe déjà, comment pourrais-je configurer la table des groupes? En outre, j'ai lu (voir le lien ci-dessous) que je ne devrais pas inclure plusieurs valeurs dans une seule colonne.
Inserting a foreign key with multiple values
Alors, mes questions sont les suivantes:
Quelle serait la façon appropriée de configurer la table des groupes?
Que serait le SQL pour le faire?
Comment cela serait-il traité avec PHP quand on veut définir un utilisateur pour un groupe?
Would le troisième groupe soit basé sur une clé étrangère ou entrée? – user3143218
Chaque fois que vous avez une clé dans une autre table de votre table, c'est une clé étrangère. Ainsi, group_id et user_id sont tous deux des clés étrangères (c'est-à-dire des clés étrangères à "this" table). – Cully
vous voulez dire les clés étrangères à l'ID de table de groupe et l'ID de liste d'utilisateurs? Il devrait remplir automatiquement lors de la création d'un groupe avec un identifiant d'utilisateur puis non? J'ai essayé et ça ne se met pas à jour. – user3143218