空字符串无法解释的MySQL错误#1064创建更新触发器后?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了空字符串无法解释的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 ;
以上是关于空字符串无法解释的MySQL错误#1064创建更新触发器后?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 MySQL DATETIME 更新为 NOW()? (错误 1064)