我正在使用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有两个子项:4和12。等。
有了这些信息,我试图找到最好的方法来确定我的帖子列表子集的子项(比如消息5到10)?某种连接是否允许单个查询获取父级和任何相应的子级?或者我最好对每个父消息分别进行查询以确定其子消息?
我正试着弄清楚我的想法,这让我很困惑。抱歉,如果这是基本的东西,但提前谢谢。
1条答案
按热度按时间bvjxkvbb1#
从这里开始,看看会发生什么。