我有这个标签系统来标记博客条目等。这些标签位于一张表中,仅包含标签名称和主键。然后,我有另一个使用标签的对象。在表中计数实例
它可能是这个样子:
_________________________________
| tags |
--------------------------------|
| id | name |
|-------------------------------|
| 1 | Scuba diving |
| 2 | Dancing |
---------------------------------
_________________________________
| tag_objects |
--------------------------------|
| id | tag | object |
|-------------------------------|
| 1 | 2 | 13 |
| 2 | 2 | 18 |
| 3 | 1 | 24 |
---------------------------------
现在,我需要完成的是一列添加到标签表,被称为“事件”或什么的。对于标签中的每个标签,出现次数应设置为tag_objects中标签的使用次数。
所以基本上是这样(显然伪代码):
foreach(tags):
UPDATE tags
SET occurrences = (SELECT COUNT(id)
FROM tag_objects
WHERE tag = tags.id);
当人们创造未来的新职位和东西,我只是有一个触发更新计数,但我有一对夫妇已经有数千行了,我需要先计算一下。我不知道如何做到这一点,所以任何援助将不胜感激。
这很好用。谢谢! –