如何在MySql中创建更新2个表的触发器

时间:2018-04-13 17:29:04

标签: mysql

我有2个表(在MySQL中):

销售(sale_id,customer_id,sale_date,dicount,stock_item_id,seller_id,数量)

记录示例:

a0018 | m9795 | 2017-10-2020 | 5    | MarFT | 0 | B-77028

stock(stock_item_id,supplier_name,supplier_email,supplier_phone,item_category item_name,wholesale_price,markup_price,items_in_stock)

记录示例:

B-77001 |BSN |direct@bsn.com | 1877333665 | Gainers | True Mass | 2.6kg | 33.75 |44.99 | 500

我需要创建一个触发器,将新记录添加到销售表中(记录新的销售,将自动增量)。同时我希望库存表更新'items_in_stock'值(当stock_item_id上有匹配时,应该减少的数量是什么?)我希望这是有道理的。我很感激任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

使用此:

DELIMITER $$

CREATE
    TRIGGER `OnSalesInsert` BEFORE INSERT ON `Sales` 
    FOR EACH ROW BEGIN

       UPDATE Stock 
       SET items_in_stock = items_in_stock - new.quantity 
       WHERE stock_item_id = new.stock_item_id; 

    END;
$$

DELIMITER ;