使用可变列名访问mysql触发器中的NEW和OLD?

时间:2013-10-21 14:14:57

标签: mysql database triggers

是否可以在mysql触发器中声明变量并使用该变量来访问具有NEW和/或OLD的字段值?

以下是一个例子:

CREATE TRIGGER TestTrigger AFTER UPDATE on ARTICLE
  FOR EACH ROW
  BEGIN
   DECLARE fieldname VARCHAR(40);
   SET fieldname = "my_field;

   UPDATE ARTICLE
   SET foo = NEW.[my_field]
   WHERE ArtID = NEW.ArtID;  
END

1 个答案:

答案 0 :(得分:1)

简而言之,您不能使用OLDNEW动态引用由触发器更新的行的列名,但也不能执行任何DML语句(在您的情况下UPDATE在您定义触发器的同一个表上。