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”,因为它是应用触发器的主表。尽可能使用另一张桌子。