【发布时间】:2015-01-10 13:36:18
【问题描述】:
我有一个触发器,我终于在previous question 中工作了
我现在想做的是,在同一个触发器中,如果特定字段发生更改,则更新特定字段。所以当 step5_complete 从 0 变为 1 时,我想将 date_completed 字段更新为当前的日期时间。
我目前收到一条关于 SQL 语法错误的错误消息,但它说
在第 13 行的“//”附近
这是
SET NEW.percent_complete = ( NEW.step1_complete + NEW.step2_complete + NEW.step3_complete + NEW.step4_complete + NEW.step5_complete ) * 20;
这是我的完整触发器
DROP TRIGGER IF EXISTS completed_part_after_update ;
DELIMITER //
CREATE TRIGGER completed_part_after_update
BEFORE UPDATE
ON completed_part FOR EACH ROW
BEGIN
IF NEW.step5_complete <> OLD.step5_complete THEN
SET NEW.date_completed = NOW();
END IF;
SET NEW.percent_complete = ( NEW.step1_complete + NEW.step2_complete + NEW.step3_complete + NEW.step4_complete + NEW.step5_complete ) * 20;
END; //
【问题讨论】:
标签: mysql triggers conditional