当请求<中的 quantity_delivered 时,如何使用MySQL触发器更新项目表中 quantity-quantity_delivered 的数量字段/ strong>表格已更新?
以下是我的查询,我已经过测试,但我发现它没有更新,有人可以帮我吗?
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 ;
答案 0 :(得分:1)
我已经自己解决了这个问题并且为我工作感谢All!
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 ;
答案 1 :(得分:0)
你应该使用新的。像你这样的触发器中的值
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 ;
另外,这应该是插入后的触发器吗?