0

目标

更改产品类别时,我想减少该产品旧类别中的产品数量,并增加新类别中的产品数量。

问题

我知道我会用触发器来做,但我不知道语法。

我已经尝试过的

我画了个草图,嘿嘿:

草图

细节

我正在使用MySQL

类别表结构

类别表

类别和产品关系表结构

关系

我已经想到的:

我知道,这是不对的,只是为了说明我的哲学:

CREATE DEFINER=`root`@`localhost` TRIGGER `updateQuantitiesOfProductsInCategories` AFTER UPDATE ON `products_category_relationship` FOR EACH ROW BEGIN
    UPDATE categories
    SET categories.ProductsQuantity = OLD.categories.ProductsQuantity -1
    AND NEW.categories.ProductsQuantity +1
    WHERE bm_categories.Id = OLD.ProductId;
END
4

1 回答 1

1

更新语法应该是这样的:

update categories
    set ProductQuantity = ProductQuantity - 1
    where id = old.categoryid;

 update categories
    set ProductQuantity = ProductQuantity + 1
    where id = new.categoryid;
于 2013-06-19T14:10:11.680 回答