-1

我有一个在表更新时触发的表上的触发器。

问题是,我需要该触发器仅在更新某个列时触发。现在,当任何列被更新时,触发器就会运行(我学得很辛苦)。

如何让触发器仅在更新特定列时运行。例如:

col1 | col2
-----------

触发器应仅在col1更新时运行,而不是在任何其他列更新时运行。我怎样才能做到这一点?

4

1 回答 1

3

MySQL 不支持在特定列更改时触发触发器。但是您可以像这样检查触发器中的特定列是否发生了变化

delimiter $$
create trigger col1_trigger before insert on your_table
for each row begin 
  if NEW.col1 <> OLD.col1
  then 
    ...
  end if;
end 
$$
于 2013-10-10T07:19:28.633 回答