如何使用MySQL的触发器在“项目”与数量表更新数量字段 - quantity_delivered
问题描述:
如何使用MySQL的触发器来更新项目表数量场数量-quantity_delivered时在quantity_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触发器后?
答
我已经自己解决了这个问题,它为我工作感谢所有!
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 ;
谢谢P.Salmon – turaco