仅当在表中更新某个列时,mySql触发器才会触发

时间:2013-10-10 07:15:54

标签: mysql sql

我在表更新时触发了一个触发器。

问题是,我需要触发器才能在某个列更新时触发。现在,触发器在任何列更新时运行(我学到了很多方法)。

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

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

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

1 个答案:

答案 0 :(得分:2)

MySQL不支持针对特定列更改触发触发器。但您可以检查触发器中的特定列是否发生了变化,如此

delimiter $$
create trigger col1_trigger before insert on your_table
for each row begin 
  if NEW.col1 <> OLD.col1
  then 
    ...
  end if;
end 
$$