我想在删除orders_foods后触发
我的逻辑是:从orders_foods中删除,其中id=;id
然后更新订单价格price = sum (orders_foods.price)其中id=orders_foods.order_id
这是我之前尝试过的代码,但出现错误#1363 -
Delimiter //
CREATE TRIGGER ubah_tot_harga AFTER DELETE ON orders_foods
FOR EACH ROW
BEGIN
DECLARE harga_1 int default 0;
SELECT SUM(price) into harga_1 fROM `orders_foods` WHERE order_id = new.order_id;
update orders
set price= harga_1
where id=old.order_id;
END
//
delimiter ;
最佳答案
您需要使用old.order_id,而不是new.order_id。因为删除后没有new.order_id,只有old.order_id。
Delimiter //
CREATE TRIGGER ubah_tot_harga AFTER DELETE ON orders_foods
FOR EACH ROW
BEGIN
DECLARE harga_1 int default 0;
SELECT SUM(price) into harga_1 fROM `orders_foods` WHERE order_id = old.order_id;
update orders
set price= harga_1
where id=old.order_id;
END
//
delimiter ;
关于mysql - 删除后触发THEN UPDATE mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51229270/