gpt4 book ai didi

mysql - 触发减少库存

转载 作者:行者123 更新时间:2023-11-28 23:21:57 24 4
gpt4 key购买 nike

我有以下 ER 图片段。

每当“order_item”更新时(即当一个项目被添加到“购物车”时),我想减少表“itemsinstock”中的“数量”。

我知道触发器的语法(好吧,MySQL 也可以生成它)但我不知道如何去做。 “order_item”需要从“itemsinstock”中读取 ItemID,并根据该 ID 减少该特定商品的数量。这可能吗?

编辑:这就是我现在拥有的:

CREATE DEFINER=`root`@`localhost` TRIGGER  
`orderdb`.`itemsinstock_AFTER_INSERT`
AFTER INSERT ON `order_item`
FOR EACH ROW
BEGIN UPDATE itemsinstock
SET Quantity = Quantity - order_item.itemQuantity WHERE itemID = ItemID; END

它给我一个“order_item.itemQuantity”的错误......它与“-1”一起工作,但显然我希望它根据“itemQuantity”的数量来递减。我该怎么做?

Snippet of ER diagram

最佳答案

非常接近

CREATE DEFINER=`root`@`localhost` TRIGGER  
`orderdb`.`itemsinstock_AFTER_INSERT`
AFTER INSERT ON `order_item`
FOR EACH ROW
BEGIN
UPDATE itemsinstock
SET Quantity = Quantity - NEW.itemQuantity WHERE itemID = NEW.id;
END

请注意 order_item(未定义)如何被代表插入行的 NEW 替换。另外作为旁注,因为这是一个单一的声明,你不需要开始结束 block

关于mysql - 触发减少库存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41162488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com