是否可以在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
答案 0 :(得分:1)
简而言之,您不能使用OLD
和NEW
动态引用由触发器更新的行的列名,但也不能执行任何DML语句(在您的情况下UPDATE
)在您定义触发器的同一个表上。