我正在尝试用mysql做一个触发器,在更新table1后更新table2,基本上操作的逻辑是这样的:
我有一个 table1,其中包含下一个字段:
id表1 id表2 单位
下一张表是这样的
id表2 总单位数
所以我需要用表2中具有相同ID的表1中所有单位的总和来更新表2的totalunits字段,例如:
假设 table1 具有以下值:
idtable1 | idtable2 | units
___________________________
1 | 1 | 3
2 | 1 | 2
3 | 2 | 2
那么我的table2应该是
idtable2 | totalunits
________________________
1 | 5
2 | 2
我知道也许这非常简单,但我找不到任何解决方案,我已经创建了一个触发器,但它不起作用
update `table2`,`table1` set totalunits= sum(table1.units) where table2.idtable2=table1.idtable2
最佳答案
您可以使用以下查询:
UPDATE table2 t2 SET t2.`counts` = (SELECT SUM(t1 .`units`) FROM table1 t1 WHERE t1.`id2` = t2.`id2`);
关于mysql - 在 MySQL 中使用触发器更新 table1 后更新 table2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25885308/