从不同表的另一列中减去一列,将答案留在MySQL中的另一列中

时间:2019-03-18 16:58:45

标签: mysql insert mamp

m_type table membership table

我有一个会员表,其中包含已付款的金额,到期的金额。我也有一个带有price的m_type表。  我想要一个触发器,以便在将行插入或更新到成员资格表中时WHERE Membership.type_id = m_type.type-id是从成员资格表中的amount_paid列中减去m_type表的价格列,而答案是放入成员资格表中的amount_due列。 谢谢

我目前尝试过的方法: What i have tried

1 个答案:

答案 0 :(得分:1)

IIUC:

DELIMITER $$

CREATE TRIGGER amount_due_cal BEFORE INSERT ON membership
  FOR EACH ROW
    BEGIN
    SET NEW.amount_due := (
        SELECT price FROM m_type WHERE type_id = New.type_id) - NEW.amount_paid;
END $$    
DELIMITER ;

如果这不起作用,请告诉我。

还请注意,type_id必须是price表的唯一索引/主键,否则将不起作用。