如何用来自其他表的数据使用触发器更新字段?
问题描述:
我有一个名为valor
至极将是quantidade
乘以preco
结果字段。如何用来自其他表的数据使用触发器更新字段?
要做到这一点,我想我应该用一个触发器,当从表中的一行(cart_produtos)完成现场valor
被更新。
到目前为止,我成功地做到这一点:
DELIMITER |
CREATE TRIGGER valor_update AFTER INSERT
ON cart_produtos FOR EACH ROW
BEGIN
INSERT INTO cart_produtos(valor) VALUES(quantidade*);
END |
DELIMITER ;
我的问题是该领域preco
是另一个表(produtos)。我想我应该用JOIN
,但我不知道怎么去与该字段的值。
答
应该做一个单独的表,并用它来报告的价值。
一般情况下,触发MySQL不能修改导致它们开火表。我也不知道你打算用'preco'专栏做什么。乍一看,我在想,也许你想要一个计算列。 –
将'preco'列作为INT值。我想知道的是价值,所以我可以通过现场乘以'quantidade'所以我知道总价值,然后从'preco'更新与结果列勇气*'quantidade'。 @TimBiegeleisen – fabimetabi
,因为它是你在哪里申请触发主表不能更新存储函数/触发器表“cart_produtos”。 尝试使用另一个表,然后它可能。 – Man