我正在练习写一个简单的论坛而且无法决定桌面结构。目前我有这个:
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)
组父母是一个0或1列,表示论坛是论坛的父级,论坛的组ID是指参与同一个表的组论坛,并将组父级设置为1。
联盟论坛与组父级相同,作为联盟ID,访问列用于访问控制。
哪种方式是重组的最佳和最佳方式?我应该为联盟论坛,forum_groups和group_forums制作3个不同的表格,还是保持这种方式?
答案 0 :(得分:1)
我认为你有正确的想法,但你现在正在把自己编程到一个角落。
论坛通常不需要嵌套线程,而是嵌套组/主题/类别
我会这样做:
state
<Stave>
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)
您可能还想在线程和帖子中添加时间戳和创建者IP等内容。
如果您想要嵌套帖子(reddit样式),只需在帖子表中添加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
是什么意思