0
というフィールドがあり、結果は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