繁体   English   中英

无法解释的MySQL错误#1064,字符串为空,更新触发后创建?

[英]Unexplainable MySQL Error #1064 for Empty String On creating After Update Trigger?

我在Windows 8.1机器上运行带有服务器版本10.0.14-MariaDB(在XAmpp 7.2.7-0-VC15-installer中分发)的MySQL,在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 ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM