我想在其中一个表上创建一个触发器,非常简单,只需设置一个值-但是我总是得到错误1064

CREATE TRIGGER `trigger_TEST` BEFORE INSERT ON `TEST_table`
FOR EACH ROW
BEGIN
        IF NEW.as_src = 13335 THEN
            SET NEW.peer_as_src = 13335;
        END IF
END

并获取此错误:
Error SQL(1064):您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,在第5行的“”附近找到正确的语法
知道为什么吗?

最佳答案

您需要更改默认分隔符

delimiter |
CREATE TRIGGER `trigger_TEST` BEFORE INSERT ON `TEST_table`
FOR EACH ROW
BEGIN
        IF NEW.as_src = 13335 THEN
            SET NEW.peer_as_src = 13335;
        END IF;
END
|
delimiter ;

否则,语句将在第一个;处结束,这将使触发器定义不完整。

10-03 01:06