【问题标题】:How execute procedure in trigget INSERT AFTER mysql?如何在 mysql 后触发器 INSERT 中执行程序?
【发布时间】:2014-10-21 05:29:26
【问题描述】:

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

但不能在这里发表自己的评论以指定某些时刻。

我已经触发 INSERT AFTER,在 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 行

你能告诉我有什么问题吗?

【问题讨论】:

  • 我把符号“:”删了,加了CALL是不是?

标签: mysql sql


【解决方案1】:

试试这个:

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.

如果您有任何问题,请告诉我!

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多