如何用来自其他表的数据使用触发器更新字段?

问题描述:

我有一个名为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,但我不知道怎么去与该字段的值。

数据库图表: Database

+0

一般情况下,触发MySQL不能修改导致它们开火表。我也不知道你打算用'preco'专栏做什么。乍一看,我在想,也许你想要一个计算列。 –

+0

将'preco'列作为INT值。我想知道的是价值,所以我可以通过现场乘以'quantidade'所以我知道总价值,然后从'preco'更新与结果列勇气*'quantidade'。 @TimBiegeleisen – fabimetabi

+1

,因为它是你在哪里申请触发主表不能更新存储函数/触发器表“cart_produtos”。 尝试使用另一个表,然后它可能。 – Man

应该做一个单独的表,并用它来报告的价值。