从旧的删除数量并添加到新的

时间:2013-06-19 14:01:10

标签: mysql sql triggers

目标

更改产品类别时,我希望减少此产品旧类别中的产品数量,并将数量增加到新类别中。

问题

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

我已经尝试了什么

我做了一个草图,呵呵:

Sketch

详细

我正在使用 MySQL

类别表格结构

Category table

类别和产品关系表结构

Relationship

我已经想到了什么:

我知道,这是不对的,只是为了说明我的理念:

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

1 个答案:

答案 0 :(得分:1)

更新语法应该是这样的:

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

 update categories
    set ProductQuantity = ProductQuantity + 1
    where id = new.categoryid;