2015-10-06 71 views
0

这个标题是错的,我想不出一个更好的句子。我是否需要在mysql上为表行增量设置一个外键

我正在创建一个PHP/MySQL基础论坛,我想要在特定论坛中显示多少个主题。到目前为止这么好,我的问题是:如何在每次在论坛下添加新主题时删除主题时减少主题计数增量。

我可以在脚本中做到这一点,但也许有更好的方法从数据库中做到这一点?

感谢预期:)

+2

使用触发器。更好的选择在飞行或在视图中的计数 –

+0

听起来像你只是想'像SELECT f.name,COUNT(t.id)topicCount FROM论坛f左加入主题t ON t.forumId = f.id GROUP BY f.name' – Phil

+0

是的!谢谢@phil :)非常感谢。感谢您的输入juergen-d –

回答

1

您可以轻松地包括使用COUNT聚集和GROUP BY在单个查询一个一对多关系的罪名。例如

SELECT f.id, f.name, COUNT(t.id) as topicCount 
FROM forum f 
LEFT JOIN topic t 
    ON f.id = topic.forumId 
GROUP BY f.id, f.name 
相关问题