2011-09-03 139 views
0

我有3列[S1,S2,总和]琛两列触发

表(mytable的),我想补充一个触发器,它与S1 + S2每次更新自动更新总和。那是我的代码,但它不起作用。我做错了什么?

在此先感谢

DROP TRIGGER IF EXISTS `mTrigger`; 
DELIMITER // 
CREATE TRIGGER `mTrigger` BEFORE UPDATE ON `myTable` 
FOR EACH ROW BEGIN 

SELECT NEW.s1 + NEW.s2 INTO @sum; 

SET @NEW.sum = @sum; 

END 
// 
DELIMITER ; 
+0

为什么你要存储一个计算字段? –

回答

4

尝试这样:

delimiter # 

create trigger myTable_before_update_trig before update on myTable 
for each row 
begin 
    set new.sum = new.s1 + new.s2; 
end# 

delimiter ;