我在这里发现了很多问题,例如:
Execute procedure in a trigger

但是暂时无法在此处发表自己的评论。

我在phpmyadmin中写道:

...

BEGIN
insert_log(1, :new.idArticle, :new.ArticleName, :new.ArticleTime, :new.ArticleCategory, :new.ArticleToUserID);
END
...


我得到错误:


  MySQL:#1064-您的SQL语法有误;检查
  与您的MySQL服务器版本相对应的手册
  '(1,:new.idArticle,:new.ArticleName,
  :new.ArticleTime,:new.ArticleCategory,:n'在第2行


你能告诉我哪里错了吗?

最佳答案

尝试这个:

CREATE TRIGGER your_trigger
AFTER INSERT
    ON table_name FOR EACH ROW
BEGIN
      insert_log(1, NEW.idArticle,  NEW.ArticleName, NEW.ArticleTime,  NEW.ArticleCategory,     NEW.ArticleToUserID);
END;


另请注意,MySQL的文档页面标题为“ Trigger Syntax and Examples”的状态为:

 Within the trigger body, the OLD and NEW keywords enable you to access columns
 in the rows affected by a trigger. OLD and NEW are MySQL extensions to triggers;
 they are not case sensitive.


请让我知道,如果你有任何问题!

关于mysql - 如何在MySQL的INSERT AFTER之后执行程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26474917/

10-11 02:35
查看更多