【发布时间】:2014-04-29 18:39:30
【问题描述】:
我正在尝试在 Mysql 中创建触发器,并得到错误:
check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TRIGGER `foo`.`test` AFTER INSERT ON `foo`.`test` FOR EACH ROW BE' at line 2
在这个触发器中:
DELIMITER $$
SET @name2:='w';
CREATE TRIGGER `foo`.`test`
AFTER INSERT
ON `foo`.`test`
FOR EACH ROW BEGIN
SELECT name1 INTO name2;
END;
$$
DELIMITER ;
第 2 行有什么问题?
【问题讨论】:
-
使用
DELIMITER $$可以更改分隔符,然后必须使用$$来结束每个语句。但是您在下一行使用;。而且在触发器之外设置一个变量是没有意义的。 -
删除;没有更好 - 同样的错误
-
不要删除它。将其替换为
$$。但是,正如我已经说过的,下一行无论如何都没有意义。我猜你不明白什么是触发器。首先阅读它。您可能想要一个 存储过程。
标签: mysql sql triggers delimiter