2014-11-05 150 views
0

我必须立即乘以使用触发器两列的值 我的表会像如何使用触发器乘以两列值?

+================================================= 
energy   power  total 
5    5  null 
8    4  null 
9    6  null 

我想总=能源*权力的;

CREATE trigger sum BEFORE INSERT on sample 
FOR EACH ROW 
BEGIN 
SET NEW.total=NEW.energy*NEW.power 
END ; 

我在第5行

+0

第5行中的错误。丢失分号。 – Riad 2014-11-05 10:36:43

回答

2

错误尝试约触发语法

DELIMITER ;; 
CREATE TRIGGER multiplier BEFORE INSERT ON sample 
FOR EACH ROW 
BEGIN 
SET new.total = new.energy * new.power; 
END ;; 
DELIMITER ; 

的更多信息和在trigger syntax在MySQL手册使用DELIMITER的。

+0

我在分隔符中得到了语法错误,我正在使用版本mysql 5.6.17是重要的..... – vidhyavarshini 2014-11-05 10:57:57

+0

对我来说它适用于5.3.3,没有你的版本.. – Olli 2014-11-05 11:17:40

+0

@vidhyavarshini:使用/ /作为分隔符。 – Riad 2014-11-05 17:28:00

2

使用下面的脚本:

CREATE trigger sum BEFORE INSERT on sample 

FOR EACH ROW 
SET NEW.total=NEW.energy*NEW.power ; 

取出BeginEnd标签,它为我工作。