[英]Error creating MySQL Trigger
I'm trying to create this trigger but i'm getting 我正试图创建这个触发器,但我得到了
[Err] 1064 - You have an error in your SQL syntax;
[错误] 1064 - 您的SQL语法有错误; check the manual that corresponds to your MySQL server version for the right syntax to use near ';
检查与您的MySQL服务器版本对应的手册,以便在'附近使用正确的语法; CREATE TRIGGER ca_passwd_trigger BEFORE UPDATE ON users FOR EACH ROW BEGIN ' at line 1
创建TRIGGER ca_passwd_trigger之前更新用户FOR EACH ROW BEGIN'在第1行
delimiter $$
DROP TRIGGER IF EXISTS ca_passwd_trigger ;
$$
CREATE TRIGGER ca_passwd_trigger BEFORE UPDATE ON users
FOR EACH ROW
BEGIN
IF ((NEW.passwd <=> OLD.passwd) = 0) THEN
SET NEW.passwd_modified_at = NOW();
END IF;
END;$$
delimiter ;
In your query you added the query terminator ;
在您的查询中添加了查询终止符
;
with the delimiter $$
in two places. 在两个地方用分隔符
$$
。 The below query is having proper query terminators and delimiters. 以下查询具有正确的查询终止符和分隔符。
DELIMITER $$
DROP TRIGGER IF EXISTS ca_passwd_trigger; -- removed the delimiter $$ after the terminator ;
CREATE TRIGGER ca_passwd_trigger BEFORE UPDATE ON users
FOR EACH ROW
BEGIN
IF ((NEW.passwd <=> OLD.passwd) = 0) THEN
SET NEW.passwd_modified_at = NOW();
END IF;
END$$ -- removed the terminator ; before the delimiter $$
DELIMITER ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.