【发布时间】:2013-12-06 01:34:42
【问题描述】:
我正在尝试创建此触发器,但 UPDATE 行出现错误。
DROP TRIGGER IF EXISTS upd_signedup;
CREATE TRIGGER upd_signedup
BEFORE INSERT ON tbl_users
FOR EACH ROW
BEGIN
UPDATE tbl_user_stats SET signups = signups + 1;
END
编辑:我已将分隔符设置为 $$ 但无法创建此触发器:
drop trigger if exists upd_signedup$$
CREATE TRIGGER upd_signedup
BEFORE INSERT ON tbl_users
FOR EACH ROW
BEGIN
UPDATE tbl_user_stats SET signups = signups + 1$$
END
【问题讨论】:
-
你用什么 MySQL 客户端执行这个?您是否根据客户的需要更改了语句分隔符?
-
phpMyAdmin。我没有更改分隔符。
-
您收到的错误信息是什么?
-
#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 5 行的 '' 附近使用
-
我相信 PHPMyAdmin 有一个字段来设置分隔符。请参阅stackoverflow.com/questions/8080681/… 以了解您的语句应该是什么样的示例(其中
$$是这些示例中选择的分隔符)