2017-11-13 19 views
0

id、a、b、cフィールドを持つsum_testというテーブルがあります cの+ bの合計を計算するトリガーが必要ですが、新しいトリガーです。 Mysqlでこれを行うにはどうしたらいいですか?我々は我々が挿入されている行の列cを設定するために欠けている場合はMysqlの挿入時に合計トリガー

CREATE TRIGGER `example` AFTER INSERT ON `sum_test` 
FOR EACH ROW BEGIN 
UPDATE sum_test 
SET c= (a+b) 
WHERE id = id 
END 

答えて

2

、我々はBEFORE挿入トリガーで、次のように行うことができます。

DELIMITER $$ 

CREATE TRIGGER `sum_test_bi` BEFORE INSERT ON `sum_test` 
FOR EACH ROW 
BEGIN 
    SET NEW.c = NEW.a + NEW.b ; 
END$$ 

DELIMITER ; 

私は理解していませんテーブルsumaを参照してください。そのテーブルは何と関係していますか? id = idという条件は、表内のすべての行についてTRUEに評価されることに注意してください。ここで、id IS NOT NULLです。

+0

suma = sum_test、申し訳ありませんspencer – Jiga

+0

と、ユーザーが列aまたはbを更新する場合、このトリガーを再実行するにはどうすればよいですか? – Jiga

+0

2番目のトリガ 'sum_test_bu BEFORE UPDATE'を定義する必要があります。残りのトリガ定義は同じです。 – spencer7593