创建触发器期间出现错误 1064

Error 1064 during trigger creation

我想在其中一个表上创建一个触发器,这很简单,只需设置一个值 - 但我总是得到错误 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): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 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 ;

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