In meinem vorherigen Projekt, das ich Beiträge und Kommentare als zwei Tabellen hatte:Datenbank-Schema-Design für Beiträge, Kommentare und Antworten
Post
- id
- Text
- Zeitstempel
- userid
Kommentar
- id
- Nachricht
- Zeitstempel
- userid
- postid
Jetzt habe ich Antworten auf Kommentare zu entwerfen. Die Antworten sind nur eine Ebene, sodass Benutzer nur auf Kommentare und nicht auf Antworten antworten können. Die Baumstruktur ist nur 1 Level tief. Meine erste Idee war, die gleiche Kommentartabelle für Kommentare und Antworten zu verwenden. Ich habe eine neue Spalte aber:
Kommentar
- id
- Nachricht
- Zeitstempel
- userid
- postid
- parentcommentid
Antworten h ave parentcommentid wird auf den übergeordneten Kommentar gesetzt, zu dem sie gehören. Übergeordnetes Kommentare haben es nicht (null)
Abrufen Kommentare für einen bestimmten Beitrag ist einfach:
aber dieses Mal habe ich eine andere Abfrage benötigen, um die Kommentar Antworten zu erfahren. Dies muss für jeden Kommentar gemacht werden:
Dies scheint keine gute Lösung zu sein, gibt es eine Möglichkeit, eine einzige Abfrage zu haben, die die vollständige Liste der Kommentare/Antworten in der richtigen Reihenfolge zurückgibt? (Diktiert durch die Zeitstempel und die Verschachtelung)
Das ist in Ordnung. Der andere Weg ist auch in Ordnung. – Strawberry
Sie meinen, ist kein Flaschenhals, um eine Abfrage für jeden Kommentar zu machen? –
Nun, es ist keine separate Abfrage - nur ein Join. – Strawberry