SQL:计算引用表自身ID的行

时间:2018-11-23 13:48:01

标签: mysql

我有一个这样设置的表(此示例已简化)

ID            | int  |Primary auto increment
Name          | text |
ContainerID   | int  |
ContainsCount | int  |

我正在使用容器ID来引用表本身。因此,如果我与

ID:3 Name:Test1 ContainerID:0 ContainsCount:0
ID:4 Name:Test2 ContainerID:3 ContainsCount:0
ID:5 Name:Test3 ContainerID:3 ContainsCount:0

这意味着第4行和第5行在第3行内。

我想计算第3行中有多少行,并将其存储在ContainsCount列中。 我知道我可以通过对需要读取的每一行进行附加查询来手动获得此值。但我想避免对服务器造成压力。

我尝试设置一个触发器,该触发器在每次添加具有相应ID的新行时都会递增该值

BEGIN
    UPDATE Stock_Items Set Name = "Testing" Where ID = 2;
END

但是事实证明,我无法使用触发器来编辑同一张表。

还有其他方法可以实现吗?

0 个答案:

没有答案