[英]'WHERE' condition in an UPDATE TRIGGER giving syntax error :mysql version 5.7
[英]MySQL 5.7 Create Trigger Syntax Error?
我一直在尝试在数据库表(MySQL v 5.7)上创建一个简单的BEFORE INSERT
触发器,但是我一直收到模糊的“#1064 ...语法错误”消息,这无助于解决问题。
这是SQL:
CREATE OR REPLACE TRIGGER `CREATE_QUIZ_TRIG` BEFORE INSERT ON `quiz`
FOR EACH ROW BEGIN
SET NEW.ACTIVE = UPPER(NEW.ACTIVE);
SET NEW.CREATED = NOW();
END
/
我要做的就是将一列强制为大写,然后将当前日期和时间插入时间戳列。 我一直在关注以下文档:
https://dev.mysql.com/doc/refman/5.7/zh-CN/trigger-syntax.html
并意识到对于多语句表达式,我必须在触发器创建开始时重新定义定界符,但是会发生相同的“#1064”错误。
这变得更加令人困惑,因为当我使用phpmyadmin的界面创建相同的触发器时,它可以正常工作-但是当我导出生成的SQL并尝试使用该触发器来创建触发器时,它将无法正常工作!
谢谢你的帮助
我没有意识到,默认情况下,phpmyadmin添加了;
分隔符;
用于结束BEGIN END
块内的语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.