我可以在数据库中存储什么样的信息,以便评论系统将评论与线程匹配

时间:2015-08-13 18:06:50

标签: php database-design mysqli database-schema

我正在建立一个像论坛一样匿名的网站。将只有一个表单验证(在后端和前端)以防止垃圾邮件。人们将能够自由发布一些线程/评论等。我不知道如何在表之间的数据库上设计这种关系。因为当人们匿名发表评论时,我不知道可以存储哪些信息。

所以我的问题是:我可以从数据库的匿名评论中存储哪些信息,以便将评论和帖子相互关联?

我有点初学者,所以我希望能解释一下我的情况。

非常感谢你的时间。

1 个答案:

答案 0 :(得分:2)

我推荐这样的架构:

threads: `threadID` INT AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR(255), `post` TEXT # etc

comments: `commentID` INT AUTO_INCREMENT PRIMARY KEY, `threadID` INT, `comment_text` TEXT #etc

comments.threadID指向附加注释的主题。

然后,您可以使用JOIN来获取给定线程的所有注释:

SELECT * FROM `threads` WHERE `threadID` = ? LEFT JOIN `comments` ON `comments`.`threadID` = `threads`.`threadID`;

或者,如果您只想要给定线程的评论:

SELECT * FROM `comments` WHERE `threadID` = ?