我正在尝试在我的orderItem表(orderId, itemId, quantity)
上创建一个触发器,以便在发生插入时更新项目表(itemId, itemName, itemPrice, primaryImage, itemCategory, quantityInStock)
上的字段" quantityInStock。到目前为止,这是我的触发器。
delimiter $$
drop trigger if exists quantityTrigger $$
create trigger quantityTrigger
after insert on orderItem
for each row begin
update item
set quantityInStock = quantityInStock - new.quantity;
end $$
delimiter ;
我用来测试触发器的insert语句如下。 每当我运行insert语句时,它会将每一行更改为相同的数字,而不是从订购的数量中减去quantityInStock。
insert into orderItem (orderId, itemId, quantity)
values ('21283', 42, 2);
答案 0 :(得分:0)
将触发器主体中的UPDATE更改为:
update item
set quantityInStock = quantityInStock - new.quantity;
WHERE itemId = new.itemId