0

我正在做一个论坛。

我要将 id、主题、日期、海报存储在名为 topic 的表中,并将内容保存在名为 posts 的表中。现在我只需要把它们很好地结合在一起。

我应该如何将帖子与主题联系起来?

您如何看待这种方法?

4

3 回答 3

2

您可以通过将 TopicID 与每个 Post 记录一起存储来连接它们。正如艾伦所说,睡在那个想法上。

于 2009-06-23T14:10:53.820 回答
2

我同意 OrbMan。您还应该使用相同的主键连接到用于存储评论/回复的表

于 2009-06-23T14:14:34.200 回答
0

您没有提到“发布”作为您问题中的一个字段,所以我假设您想将其保存在单独的表格中。

您可以通过以下查询链接两个表(“帖子”和实际包含帖子 [假设“帖子文本”] 的帖子存储在“帖子内容”字段中)的表:SELECT posts.subject、posts.date、posts.poster、posttext .postcontent 来自帖子,posttext WHERE posts.id = posttext.id;

此 id 字段可以是存储帖子时生成的任何字符串、自动编号或散列。例如,您可以散列帖子文本并将此散列作为 id 存储在两个表中,以确保唯一性。

但是,我建议甚至将 postcontent 放入“posts”表中,从而节省两项工作:

  1. 在两个表中存储 id 将消失 -> 这意味着每个表的两个查询现在减少到只有一个查询(在访问和写入时),因此节省了服务器时间。
  2. 数据库大小会略微减小,因为只使用一个索引。因为只有一张桌子而不是两张。
于 2009-06-23T14:22:36.777 回答