Mysql 如何使用触发器和其他表中的数据更新字段?

Mysql 如何使用触发器和其他表中的数据更新字段?,mysql,sql,triggers,Mysql,Sql,Triggers,我有一个名为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

我有一个名为
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
的结果更新列值@Timbiegeleisencas无法更新存储函数/触发器中的表“cart\u produtos”,因为它是应用触发器的主表。尽可能使用另一张桌子。