更新前的MySQL使用PhpMyAdmin触发插入语法错误

时间:2015-06-02 20:07:38

标签: mysql triggers phpmyadmin

 CREATE TRIGGER question_preserver BEFORE UPDATE ON bank
 FOR EACH ROW
 BEGIN
 IF TRIM(NEW.question) != TRIM(OLD.question) THEN
 INSERT INTO bank_question_history (id,old_question) VALUES (OLD.id,OLD.question)$$
 END IF$$
 END$$

我使用PHPMyAdmin的SQL窗口将该查询插入到Mysql中,使用$$的分隔符。我收到错误You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5

我确定它显而易见,我只是错过了它,但无论我尝试什么,我都无法让它发挥作用。这个错误根本没有用,而且根据我的研究,我正在做的就像我发现的4-5个例子一样。

非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

上图我在问完后就知道了。

 CREATE TRIGGER question_preserver BEFORE UPDATE ON bank
 FOR EACH ROW
 BEGIN
 IF TRIM(NEW.question) != TRIM(OLD.question) THEN
 INSERT INTO bank_question_history (id,old_question) VALUES (OLD.`id`,OLD.`question`);
 END IF;
 END$$

您必须使用;来破坏每个语句/命令,并使用delim $$来结束整个触发器。