我在这里发现了很多问题,例如: Execute procedure in a trigger
但是不能在这里发表评论以指明一些时刻。
我在phpmyadmin中触发 INSERT AFTER ,我写道:
...
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行
你能告诉我什么是错的吗?
答案 0 :(得分:0)
试试这个:
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.
如果您有任何疑问,请与我们联系!