我在表更新时触发了一个触发器。
问题是,我需要触发器才能在某个列更新时触发。现在,触发器在任何列更新时运行(我学到了很多方法)。
如何仅在更新特定列时才能使触发器运行。例如:
col1 | col2
-----------
触发器应仅在col1
更新时运行,而不是在任何其他列更新时运行。我怎么能这样做?
答案 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
$$