插入/更新触发器

时间:2015-10-10 18:20:49

标签: mysql triggers

我在模式foo中有两个表,名为credit和credit_customers。 两者看起来像:

**credit:**
creditId: primary key
partyId
creditedAmt
debitedAmt

**credit_customers:**
customer_id: primary key
balanceOutstanding

我尝试在信用表上创建更新后触发器,以便balanceOutstanding列自动更新为balanceOutstanding = creditAmt-debitedAmt 创建的触发器如下: DELIMITER $$

USE `foo`$$

CREATE
DEFINER=`root`@`localhost`
TRIGGER `foo`.`creditAfterUpdateTrigger`
AFTER UPDATE ON `foo`.`credit`
FOR EACH ROW
update foo.credit_customers
    set balanceOutstanding = credit.NEW.creditedAmt - credit.NEW.debitedAmt
    where credit_customers.customer_id = credit.partyId$$

触发器已成功创建。但是,当我尝试更新信用表时,我收到此错误:

ERROR 1054: Unknown column 'partyId' in 'where clause'
SQL Statement:
UPDATE `foo`.`credit` SET `debitedAmt`=20000 WHERE `creditId`='5'

我无法得到此错误的原因以及如何调试它。 任何帮助都非常感谢。 感谢。

0 个答案:

没有答案