Phpmyadmin 在 'END' 附近创建触发器语法错误
Phpmyadmin create trigger syntax error near 'END'
我正在尝试在 PhpMyAdmin 中创建一个触发器,但每次我尝试创建它时都会遇到同样的错误。错误是:
#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 'END' at line 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 ;
您在 END
之后和 SELECT
末尾缺少 ;
:
DELIMITER $$
CREATE TRIGGER `triggerName` AFTER UPDATE ON `test`
FOR EACH ROW
BEGIN
SELECT * FROM `test_2` WHERE `id` = 1;
END; $$
DELIMITER ;
触发器主体的最后一个 END 应该使用您声明的 DELIMITER,如下所示:END$$
BEGIN 和 END 中的每个语句都可以(必须)以 ;
结束,以免告诉 MySQL 您的 TRIGGER 语句已结束。
所以第 7 行以 ;
结束,并删除第 8 行 END
和 $$
之间的 space。
我正在尝试在 PhpMyAdmin 中创建一个触发器,但每次我尝试创建它时都会遇到同样的错误。错误是:
#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 'END' at line 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 ;
您在 END
之后和 SELECT
末尾缺少 ;
:
DELIMITER $$
CREATE TRIGGER `triggerName` AFTER UPDATE ON `test`
FOR EACH ROW
BEGIN
SELECT * FROM `test_2` WHERE `id` = 1;
END; $$
DELIMITER ;
触发器主体的最后一个 END 应该使用您声明的 DELIMITER,如下所示:END$$
BEGIN 和 END 中的每个语句都可以(必须)以 ;
结束,以免告诉 MySQL 您的 TRIGGER 语句已结束。
所以第 7 行以 ;
结束,并删除第 8 行 END
和 $$
之间的 space。