我有4张桌子:
1. forums (id,forum_id,name,group_id) - there are categories and
sub-categories
2. topics (id,forum_id,user_id,name,dt,deleted[default - 0])
3. posts (id,topic_id,text,edit_dt,user_id,deleted)
4. users (id,name)
获取主要类别最后帖子的最佳方法是什么?或者可以在论坛中添加新字段 - last_post_id
,last_post_name
,last_post_dt
,然后在delete,
添加新主题/回复更新这些字段?
答案 0 :(得分:0)
首先,要识别您的“上一篇文章”,您应该在帖子表中添加时间戳(DateTime)。
此外,在您的问题中,定义什么是类别(我认为它是主题)和数据示例,并与您所需输出的示例配对。
答案 1 :(得分:0)
我在forums
表中添加了字段(last_post_id,last_poster_id,last_dt),当插入新的/删除/更新的帖子时,主论坛将更新最新信息。
答案 2 :(得分:0)
如果数据库不是很大,并且您的所有外键和ID都有索引,那么您可以在不创建任何新字段的情况下进行dinamically。
我假设posts表中的id字段是autoincrment。 这个mysql查询选择每个论坛中包含一些活动的最后一个主题的名称。
SELECT T.name FROM forums F
JOIN topics T ON T.forum_id = F.id
JOIN posts P ON P.topic_id = T.id
GROUP BY F.id
ORDER BY P.id ASC