mysql - 如何使用触发器根据另一个表来操作一个表?

标签 mysql triggers

我很难弄清楚如何操作依赖于另一个表的表。

------Product----------
-- productcode (PK)
-- name
-- price
-- stock

------Orderline----------
-- ordercode (FK, From 'Order' table)
-- productcode (FK)
-- amount

我想要的是一个触发器,当订购产品时(在'Orderline'表中)库存会根据订购数量自动变化。

目前我还没有走到那一步

DELIMITER $$
CREATE TRIGGER after_orderProduct_insert 
AFTER INSERT ON Orderline
FOR EACH ROW
BEGIN  
  IF ##
    ##
  END IF; 
END $$

关于如何解决这个问题的任何想法? 提前致谢!

最佳答案

根据数量(订购的商品数量)更新库存值。

  DELIMITER $$
    CREATE TRIGGER after_orderProduct_insert 
    AFTER INSERT ON Orderline
    FOR EACH ROW
    BEGIN  
       UPDATE product
        SET stock = stock - NEW.amount
      WHERE productcode = NEW.productcode;
    END $$

关于mysql - 如何使用触发器根据另一个表来操作一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30238898/

相关文章:

mysql - 收到错误从 'System.String' 到 'System.Guid' 的强制转换无效

mysql - 将从 SQL 查询返回的值插入到另一个表中

database - 触发器与非规范化存储过程的优缺点

wpf - TreeView.IsSelected 触发器无法正常工作

mysql - 导出时触发意外错误

mysql - 从 MySQL 中的 TRIGGER 中更改 LAST_INSERT_ID()

javascript - 如何在按键时触发动画

php - 记录 PHP 和 MySQL 上的应用程序事件

MySQL - 更新所有记录以匹配最后一个

javascript - pentaho mysql 日期时间 javascript 比较