更新触发器之前的Mysql问题更新命令

时间:2014-10-24 18:57:31

标签: mysql triggers

寻找协助制作mysql触发器。我当前的代码无法按预期工作。我想要做的是如果表A中的字段A被修改,则将字段A复制到表A中的字段B.

当前代码如下所示:

BEGIN
IF new.set_id=301 THEN
UPDATE lighting_io_settings SET slider1_val=new.val WHERE set_id=402;
END IF;   
END

显然它失败了,因为更新正在调用更新。

1 个答案:

答案 0 :(得分:1)

更新更新之前,您可以检查变量" OLD "上的旧元组值。并检查" NEW "上的新元组值变量

BEGIN
IF NEW.columnA != OLD.columnA THEN
   //do whatever you want here like
   NEW.columnB = NEW.columnA;
   //can call update again, just don't change the columnA
   update tableA set columnB = NEW.columnA where id = 402;
END IF;   
END