我想为我的网站访问者提供对现有评论发表评论的便利,因为我们可以在 stackoverflow 中对答案发表评论。
在这里,我创建了两个表
threads
thread_id (auto increment),
title VARCHAR(MAX),
body VARCHAR(MAX),
date datetime,
user INT
comments
comment_id INT (auto increment),
parent_id INT,
thread_id INT,
title VARCHAR(MAX),
body VARCHAR(MAX),
date datetime,
user INT
当用户在线程上发表评论时,它将被保存在评论表中,如下所示
comment_id = 1211
parent_id = NULL
thread_id = 122
title = "This is the title of the comment"
body = "This is the Body of the comment"
date = 2013-04-04 13:05:44
user = "xyzuser"
假设用户对上述评论发表评论,该评论将保存在评论表中,如下所示
comment_id = 1212
parent_id = 1211
thread_id = 122
title = "This is sample title of comment on comment"
body = "This is the Body of comment on comment";
date = 2013-04-04 15:05:44
user = "abcuser"
我正在使用以下查询从线程表中获取线程
SELECT * FROM threads WHERE thread_id = 122
到现在为止,我从下面的评论表中得到了线程下的评论
SELECT * FROM comments WHERE thread_id = 122
但是现在,我还想在每个评论下显示评论,我尝试过以下
SELECT * FROM comments WHERE thread_id = 122 GROUP BY parent_id
但是使用这个查询,在 parent_id 中具有 NULL 值的行会发生什么,以及我将如何整理每个评论下的评论。
任何人有任何解决方案?我应该使用哪个查询以及如何整理每条评论下的评论?