我正在用MySQL为我的网站写一个基本的论坛系统。我需要一种方法来跟踪不仅是帖子,但回应的帖子。由于每个帖子只能有一个父级,但最终可以有多个子级,所以我想我需要两个表。第一个表至少包含每个帖子的标题、正文和父级。第二个表只包含对父帖子及其对应的子的引用,如下所示:
Posts Table
ID | PARENT | TITLE | POST
1 | | Msg 1 | Body 1
2 | | Msg 2 | Body 2
3 | | Msg 3 | Body 3
4 | 2 | Msg 4 | Body 4
5 | 1 | Msg 5 | Body 5
6 | | Msg 6 | Body 6
7 | | Msg 7 | Body 7
8 | 5 | Msg 8 | Body 8
9 | | Msg 9 | Body 9
10 | 1 | Msg 10 | Body 10
11 | 1 | Msg 11 | Body 11
12 | 2 | Msg 12 | Body 12
Children Table
ID | PARENT | CHILDREN
1 | 2 | 4
2 | 1 | 5
3 | 5 | 8
4 | 1 | 10
5 | 1 | 11
6 | 2 | 12 在此示例中,消息1有3个子项: 5、10和11。消息2有2个子项:4和12。等等。
有了这些信息,我正在尝试找到确定我的帖子列表(比如消息5到10)的子集的子集的最佳方法?某种类型的连接是否允许单个查询来获取父级和任何相应的子级?或者,我对每个父消息进行单独查询以确定其子消息是否更好?
我试图让我的头脑围绕加入,这是令人困惑的见鬼。很抱歉,如果这是基本的东西,但提前感谢。
https://stackoverflow.com/questions/51069374
复制相似问题