我试图在PhpMyAdmin中创建一个触发器,每次尝试创建它时我都会遇到同样的错误。错误是:
#1064 - 您的SQL语法出错;检查与您的MySQL服务器版本对应的手册,以便在' END'附近使用正确的语法。第5行
我似乎无法让它工作,我在这个主题上看到的所有问题都指向不将分隔符设置为问题,但我已经设置好了。任何帮助都会很好,我已经创建了一个非常简单的触发器来测试它,代码如下:
DELIMITER ;
DROP TRIGGER IF EXISTS `triggerName`;
DELIMITER $$
CREATE TRIGGER `triggerName` AFTER UPDATE ON `test`
FOR EACH ROW
BEGIN
SELECT * FROM `test_2` WHERE `id` = 1
END $$
DELIMITER ;
答案 0 :(得分:0)
;
之后和END
结束时您遗失SELECT
:
DELIMITER $$
CREATE TRIGGER `triggerName` AFTER UPDATE ON `test`
FOR EACH ROW
BEGIN
SELECT * FROM `test_2` WHERE `id` = 1;
END; $$
DELIMITER ;
答案 1 :(得分:0)
触发器主体的最后一个END应该使用您声明的DELIMITER,例如:END$$
BEGIN和END中的每个语句都可以(必须)以;
结尾,以不告诉MySQL您的TRIGGER语句已结束。
因此,在第7行以;
结尾,并在第8行的END
和$$
之间删除空格。