mySQL - UPDATE TRIGGER,如何将 .NEW 值与同一行中的另一条数据进行比较

mySQL - UPDATE TRIGGER, how to compare a .NEW value to another piece of data in the same row

我一直在尝试做的是在更新行的值之前触发一个触发器语句。

该语句需要查看要更新的新存入金额是否大于另一列中的现有债务,这是我目前尝试过的。

DELIMITER $$
CREATE TRIGGER BankTrail 
BEFORE UPDATE ON loan
FOR EACH ROW BEGIN

IF (NEW.`paid`> OLD.debt) THEN
    INSERT INTO table1 VALUES (.....);
END IF;
END$$
DELIMITER ;

table(贷款)结构是 3 列

债务已付 CUSTNO

我如果支付的金额大于我需要触发器工作的债务。

我试过使用OLD.DEBT(但这没有用,因为债务金额在更新期间没有改变)

我还考虑过使用 SELECT 语句,如

IF (NEW.`paid`> SELECT 
debt 
FROM loan
WHERE ...?
) THEN

但同样,没有标识符指向 select 该行,通过使用 CUSTNO 或 DEBT,因为 none 在初始 UPDATE 语句中更改了这些。

UPDATE loan
 SET paid = (amount paid)
 WHERE custno = (customer number);

任何帮助将不胜感激。谢谢

更新前更改为更新后,您的触发器应该可以工作