mysql数据库设计:线程和回复的回复?

时间:2010-04-18 22:20:22

标签: mysql database

在我的论坛中,我有线索和回复。

一个帖子有多个回复。但是,回复可以是回复的回复(如谷歌浪潮)。因为回复必须有一个“reply_id”列,所以它可以指向父回复。但是,“顶级”回复(直接在该主题下的回复)将没有父回复。

所以我该如何解决这个问题?列应该如何在回复表(和线程表)中。

目前它看起来像这样:

线程: ID 标题 体

回复: ID thread_id(所有回复都属于一个帖子) reply_id(这就是问题。顶级回复没有父回复) 体

智能设计可以启用回复回复的内容吗?

2 个答案:

答案 0 :(得分:1)

你有一个层次结构。有两种标准方法可以将其存储在数据库中:

<{> 3}} This article涵盖了每种模型的优缺点。您当前的设计是使用邻接列表。没关系,但你需要知道MySQL本身不支持递归CTE,并且你必须使用一些技巧来有效地获取数据,如本文所述。

答案 1 :(得分:-1)