根据另一列的计算创建 MYSQL 触发器以更新列
Create MYSQL Trigger To Update Column based on calculation of another column
我有这个table
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$$
如果要将值分配给 cart
中的列,请使用 "before update" 触发器并在 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$$
我在@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 ;
我有这个table
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$$
如果要将值分配给 cart
中的列,请使用 "before update" 触发器并在 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$$
我在@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 ;