无法解释的MySQL错误#1064在创建更新后触发器时出现空字符串?



我在Windows 8.1机器上运行MySQL,服务器版本为:10.1.34-MariaDB(分布在XAmpp 7.2.7-0-VC15-installer中(,使用Google Chrome上的PhpMyadmin访问Mysql数据库,我收到此错误:

#1064 - 您的 SQL 语法有误;请查看与您的 MariaDB 服务器版本对应的手册,了解在第 4 行的 '' 附近使用的正确语法

为此创建触发器语法:

DROP TRIGGER IF EXISTS Tsopd_main_AfterUpdate;
CREATE TRIGGER Tsopd_main_AfterUpdate AFTER UPDATE
ON sopd_main FOR EACH ROW 
BEGIN
SET @jns = 1;
END

当我像这样更改代码时:

DROP TRIGGER IF EXISTS Tsopd_main_AfterUpdate;
CREATE TRIGGER Tsopd_main_AfterUpdate AFTER UPDATE
ON sopd_main FOR EACH ROW 
BEGIN
END

或者像这样:

DROP TRIGGER IF EXISTS Tsopd_main_AfterUpdate;
CREATE TRIGGER Tsopd_main_AfterUpdate AFTER UPDATE
ON sopd_main FOR EACH ROW 
BEGIN
-- SET @jns = 1;
END

成功了。

谁能帮我告诉我出了什么问题? 谢谢。

需要使用DELIMITER指令更改查询分隔符,以便可以在触发器定义中使用;

DELIMITER $$
DROP TRIGGER IF EXISTS Tsopd_main_AfterUpdate$$
CREATE TRIGGER Tsopd_main_AfterUpdate AFTER UPDATE
ON sopd_main FOR EACH ROW 
BEGIN
SET @jns = 1;
END$$
DELIMITER ;

最新更新