【问题标题】:mysql trigger than graps value from different tablesmysql触发器比来自不同表的graps值
【发布时间】:2018-03-14 23:29:20
【问题描述】:

我正在尝试创建一个触发器,将 +1 添加到我的dispens_counter

我有 3 张桌子:

dispense_table:

MasterID - containerID

master_table:

MasterID - customerID

container_table:

containerID - customerID - dispense_counter

我想要做的是,在每次插入到我的dispens_table 之后,我想向我的dispens_counter 添加 +1

WHERE 
master_table.customerID = container_table.customerID AND 
dispense_table.MasterID = master_table.MasterID AND 
dispense_table.containerID = container_table.containerID

所以每次我在我的dispens_table 中获得分配时,我想在我的container_table 中添加+1,因为它非常繁忙,并且需要一些时间来在给定的时间内运行分配查询。

所以

CREATE TRIGGER dispense_adding AFTER INSERT ON dispense_table
FOR EACH ROW BEGIN
  ????
END

【问题讨论】:

    标签: mysql triggers


    【解决方案1】:

    dispense_table 中新行中的列由特殊别名 NEW.* 引用

    CREATE TRIGGER dispense_adding AFTER INSERT ON dispense_table
    FOR EACH ROW BEGIN
      UPDATE master_table AS m JOIN container_table AS c ON m.customerID = c.customerID
      SET c.dispense_counter = c.dispense_counter + 1
      WHERE m.MasterID = NEW.MasterID AND c.containerID = NEW.containerID;
    END
    

    【讨论】:

    • 谢谢你,NEW.* 部分让我特别清楚。非常感谢。它就像我想要的那样工作。
    猜你喜欢
    • 1970-01-01
    • 2019-04-24
    • 2016-02-22
    • 2021-10-05
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    相关资源
    最近更新 更多