我在模式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'
我无法得到此错误的原因以及如何调试它。 任何帮助都非常感谢。 感谢。