我的桌子有这样的结构:
products:
mrp | discount | price
我想创建一个触发器,以便如果我更改折扣的值,它将相应地设置价格。
create trigger updateprice on products
after update
as if(update(discount))
update products set price=((100-discount)/100)*mrp;
但是,这给了我语法错误,并且我无法找到确切的代码。有人可以帮忙吗?
最佳答案
您需要一个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 ;
关于mysql - 创建触发器以在第一列更新时更新第二列的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21612322/