2017-07-18 97 views
0

我有一個名爲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

回答

0

應該做一個單獨的表,並用它來報告的價值。

相關問題