如何使用MySQL的触发器在“项目”与数量表更新数量字段 - quantity_delivered

如何使用MySQL的触发器在“项目”与数量表更新数量字段 - quantity_delivered

问题描述:

如何使用MySQL的触发器来更新项目表数量数量-quantity_deliveredquantity_delivered请求表已更新?如何使用MySQL的触发器在“项目”与数量表更新数量字段 - quantity_delivered

这是我的查询,我已经过测试,但我看到它没有更新,可以请任何人帮我吗?

DELIMITER $$ 
CREATE TRIGGER items_update AFTER UPDATE ON requests 
FOR EACH ROW 
BEGIN 
    UPDATE items 
     SET items .quantity = items.quantity - requests.quantity_delivered 
     WHERE items .item_id = requests.item_id; 
END; 
$$ 
DELIMITER ; 

您应该使用新的。在触发这样

drop trigger if exists items_update; 
DELIMITER $$ 
CREATE TRIGGER items_update AFTER UPDATE ON requests 
FOR EACH ROW 
BEGIN 
    UPDATE items 
     SET items.quantity = items.quantity - new.quantity_delivered 
     where items.item_id = new.item_id; 
END; 
$$ 
DELIMITER ; 

顺便值这应该是一个INSERT触发器后?

+0

谢谢P.Salmon – turaco

我已经自己解决了这个问题,它为我工作感谢所有!

DELIMITER $$ 
CREATE TRIGGER `quantityTrigger` AFTER UPDATE ON `requests` FOR EACH ROW BEGIN 
UPDATE items i 
SET i.quantity=i.quantity-NEW.quantity_delivered 
WHERE i.item_id=NEW.item_id; 
END 
$$ 
DELIMITER ;