Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Struktur für Beiträge und Kommentare

Auf einer grundlegenden Ebene hätten Sie eine Tabelle für jeden Typ von "Ding" in Ihrer Anwendung. In diesem Fall eine Tabelle für Beiträge und eine Tabelle für Kommentare. So etwas Einfaches:

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

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

Dies würde eine sogenannte Eins-zu-Viele-Beziehung (oder eigentlich Null-zu-Viele) zwischen Posts und Kommentaren schaffen, wobei jeder Post null oder mehr verknüpfte Posts haben kann, aber jeder Kommentar nur einem Post zugeordnet werden kann.

In Ihrem Code (der ein ganz anderes Thema ist) gibt es ein paar Dinge, die Sie tun könnten, um einen Beitrag und die zugehörigen Kommentare anzuzeigen. Angenommen, Sie haben als Eingabe die Id des gewünschten Beitrags können Sie diesen Beitrag und seine Kommentare abrufen:

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

Was Sie mit diesen resultierenden Daten machen, liegt ganz bei Ihnen und wie Sie sie in Ihrer Anwendung verwenden möchten. Es würde als zwei Tabellenergebnisse zurückkommen, von denen das erstere einen Datensatz hat (wenn der Post existiert) und das letztere null oder mehr Datensätze hat. Natürlich sollten Sie überprüfen, ob Dinge vorhanden sind, bevor Sie versuchen, sie zu verwenden usw. (Wenn die erste Abfrage also keine Ergebnisse zurückgibt, versuchen Sie nicht, den Beitrag weiterhin anzuzeigen. Zeigen Sie einfach eine Standardantwort oder einen Fehler an.)