我正在练习写一个简单的论坛,就是不能决定表格的结构。目前,我有以下内容:
id int(11) AUTO_INCREMENT
title varchar(56)
group_id int(11)
group_parent tinyint(1)
access_from int(11)
alliance_forum tinyint(1)
alliance_id int(11)
alliance_role_access int(11)Group parent是一个0或1列,说明论坛是论坛的父论坛,而group id是指引用同一表格的组论坛记录,其中group parent设置为1。
联盟论坛与群父相同,联盟id相同,访问列用于访问控制。
哪种方式是最好的,也是最好的方式?我应该为联盟论坛,forum_groups和group_forums制作3张不同的桌子,还是保持这种方式?
发布于 2017-02-22 04:50:18
我认为你的想法是正确的,但你现在正把自己逼入绝境。
论坛通常不需要嵌套的线程,而是嵌套的组/主题/类别
我会这样做:
表:组
id int(11) AUTO_INCREMENT
name varchar(56)
parent int(11) #If parent is 0 there is no parent. Else it's the ID of the parent group (so you can have nested groups/topics/categories)表:线程
id int(11) AUTO_INCREMENT
title varchar(56)
alliance_id int(11) #again: 0 if not, else ID of your alliance 表:帖子
id int(11) AUTO_INCREMENT
thread int(11) # id of thread
message varchar(1000)
creator int(11) #user id of creator你可能还想把时间戳和创建者IP添加到线程和帖子中。
如果需要嵌套帖子(reddit样式),只需将parent int(11)添加到帖子表中即可
不太确定access_from应该是什么
https://stackoverflow.com/questions/42377376
复制相似问题