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

structure mysql pour les messages et les commentaires

À un niveau de base, vous auriez un tableau pour chaque type de "chose" dans votre application. Dans ce cas, un tableau pour les publications et un tableau pour les commentaires. Quelque chose d'aussi simple que ceci :

Post
--------
Id
Content
User
DatePosted

Comment
--------
Id
PostId
Content
User
DatePosted

Cela créerait ce qu'on appelle une relation un à plusieurs (ou zéro à plusieurs, en fait) entre les publications et les commentaires, dans laquelle chaque publication peut avoir zéro ou plusieurs Pomments associés, mais chaque commentaire ne peut être associé qu'à une seule publication.

Dans votre code (qui est un tout autre sujet), pour afficher un article et ses commentaires associés, vous pouvez faire plusieurs choses. En supposant que vous ayez, en entrée, le Id de la publication que vous souhaitez, vous pouvez obtenir cette publication et ses commentaires :

SELECT `Content`, `User`, `DatePosted` FROM `Post` WHERE `Id` = ?Id
SELECT `Id`, `Content`, `User`, `DatePosted` FROM `Comment` WHERE `PostId` = ?Id

Ce que vous faites avec ces données résultantes dépend de vous et de la manière dont vous souhaitez les utiliser dans votre application. Il reviendrait sous la forme de deux résultats de table, dont le premier a un enregistrement (si le poste existe) et le second a zéro ou plusieurs enregistrements. Naturellement, vous voudrez vérifier que les choses existent avant d'essayer de les utiliser, etc. (Donc, si la première requête ne renvoie aucun résultat, n'essayez pas de continuer à afficher le message. Affichez simplement une réponse par défaut ou une erreur.)