我正在建立一个像论坛一样匿名的网站。将只有一个表单验证(在后端和前端)以防止垃圾邮件。人们将能够自由发布一些线程/评论等。我不知道如何在表之间的数据库上设计这种关系。因为当人们匿名发表评论时,我不知道可以存储哪些信息。
所以我的问题是:我可以从数据库的匿名评论中存储哪些信息,以便将评论和帖子相互关联?
我有点初学者,所以我希望能解释一下我的情况。
非常感谢你的时间。
答案 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` = ?