我有这张桌子
id price qty points
如何创建触发器,以便每当我更新列价时,列点将根据价格DIV 10 DIV数量的计算进行更新?
我已经尝试但它不起作用且它没有更新列点。
delimiter $$
drop trigger if exists cart_update_rewards$$
create trigger cart_update_rewards
after update on cart
for each row
begin
SELECT `price` DIV 10 DIV `quantity` as points FROM `cart`;
end$$
答案 0 :(得分:1)
如果要将值分配给cart
中的列,请在更新前使用""触发并指定new
中的值:
delimiter $$
drop trigger if exists cart_update_rewards$$
create trigger cart_update_rewards
before update on cart
for each row
begin
set new.points = new.price DIV 10 DIV new.quantity ;
end$$
答案 1 :(得分:1)
我已经在@GordonLinoff的帮助下解决了这个问题。
DELIMITER //
CREATE TRIGGER trigger_name
BEFORE UPDATE
ON cart FOR EACH ROW
BEGIN
-- trigger code
set new.`reward_points` = new.cart_price DIV 1;
END; //
DELIMITER ;