插入/更新触发器后mysql中出现未知列错误

插入/更新触发器后mysql中出现未知列错误,mysql,triggers,Mysql,Triggers,我在模式foo中有两个表,分别命名为credit和credit\u customers。 两者看起来都像: **credit:** creditId: primary key partyId creditedAmt debitedAmt 及 我尝试在credit表上创建一个after-update触发器,以便balancesuspended列自动更新为balancesuspended=creditAmt debitedAmt 创建的触发器如下所示: 分隔符$$ USE `foo`$$ CRE

我在模式foo中有两个表,分别命名为credit和credit\u customers。 两者看起来都像:

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

我尝试在credit表上创建一个after-update触发器,以便balancesuspended列自动更新为balancesuspended=creditAmt debitedAmt 创建的触发器如下所示: 分隔符$$

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

您需要加入UPDATE语句中的
credit
表。非常感谢@juergend。这是因为where子句向后工作吗?
update foo.credit\u customers set balancesumment=NEW.creditedAmt-NEW.debitedam其中customer\u id=NEW.partyId
是否适用于您?触发器已成功创建,因为此时只检查语法。再次感谢..获取:)
ERROR 1054: Unknown column 'partyId' in 'where clause'
SQL Statement:
UPDATE `foo`.`credit` SET `debitedAmt`=20000 WHERE `creditId`='5'