定义触发器时SET上的MySQL语法错误

时间:2010-11-19 18:58:01

标签: mysql triggers

我无法弄清楚为什么这个触发器创建语法失败了:

CREATE TRIGGER mytrigger BEFORE UPDATE ON mytable
FOR EACH ROW
BEGIN
    IF NEW.col1 = 0 AND NEW.col2 != '' AND NEW.col3 > 0 THEN
        SET NEW.col1 = NEW.col3 - (10 * 60);
    END IF;
END;

MySQL说在第5行有一个语法错误,就在SET语句之前/之后。我正在使用MySQL 5.0.27。我看不出有什么问题,因为它与给出in the manual 3/4的示例非常相似。

PS:我在PhpMyAdmin的SQL选项卡中输入了这个。添加“分隔符”语句没有帮助。有线索吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了。显然,当作为SQL查询的一部分输入时,PhpMyAdmin会忽略MySQL的分隔符命令。相反,您需要在SQL查询下面的单独表单字段中设置分隔符。我完全错过了!