创建触发器以更新第一列的更新第二列的值

时间:2014-02-06 19:37:12

标签: mysql triggers

我的桌子有这样的结构:

products:
mrp | discount | price

我想创建一个触发器,这样如果我更改折扣值,就会相应地设置价格。

create trigger updateprice on products 
after update 
as if(update(discount)) 
update products set price=((100-discount)/100)*mrp;

然而,这给了我语法错误&我无法找到它的确切代码。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您需要BEFORE触发器,但不需要AFTER

delimiter //

create trigger updateprice  before update on products 
  for each row begin
    if new.discount <> old.discount then
       set new.price = ( ( 100 - new.discount ) / 100 ) * new.mrp;
    end if;
  end;
//

delimiter ;