2016-09-25 3 views
0

Ce que j'ai est un programme qui permet aux utilisateurs de surveiller les messages en spécifiant ce qu'ils recherchent. Je prédis que de nombreux utilisateurs surveilleront les mêmes publications et souhaiteraient que tous les utilisateurs soient regroupés dans la même ligne au lieu de les afficher tous en tant que publications distinctes. Je ne suis pas sûr de savoir si MySQL a un moyen de pointer vers plusieurs utilisateurs dans une table différente, ou d'une autre façon de le faire. J'ai vu des choses telles que l'inscription mentionné, mais je n'ai pas vu de façons de l'appliquer de la manière que je voudrais.Comment stocker plusieurs utilisateurs dans une ligne de table MySQL

Ce que je me demande s'il est possible de le faire:

Table 1:          Table 2: 

Platform Post Name   Users    Users 
-----------------------------------    ---------------- 
PC   Title    [ ] ----------> Jane 
              |---> Bob 
              |---> Roger 

Est-il possible de le faire, ou quoi devrais-je aller à ce sujet?

+2

Ma recommandation n'est * pas * de le faire. Utilisez une ligne distincte pour faire référence à chaque enregistrement séparé dans le tableau 'Users'. –

+0

@GiorgosBetsos Je m'excuse car c'est la première fois que j'utilise MySQL, si je le faisais j'utiliserais une jointure interne? –

+0

Il n'y a pas besoin de s'excuser car nous sommes là pour vous aider! Oui, vous devrez alors "JOIN" à la table des utilisateurs. –

Répondre

3

La mise en place de noms d'utilisateur dans une liste séparée par des virgules est une solution terrible. S'il vous plaît ne faites pas ça. Cela conduit à toutes sortes de problèmes.

La meilleure façon de procéder est de créer une nouvelle table avec deux colonnes: USER_ID et POST_ID. Chaque fois qu'un utilisateur souhaite surveiller un post, ajoutez une ligne avec l'ID de l'utilisateur et l'ID du message.