gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 00:04:41 24 4
gpt4 key购买 nike

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

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

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 ;

表(贷款)结构为 3 列

债务已付 CUSTNO

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

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

我也考虑过使用 SELECT 语句

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

但同样,没有标识符可以通过使用 CUSTNO 或 DEBT 选择该行,因为在初始 UPDATE 语句中这些都没有更改。

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

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

最佳答案

BEFORE UPDATE 更改为 AFTER UPDATE 并且您的触发器应该可以工作

关于mySQL - UPDATE TRIGGER,如何将 .NEW 值与同一行中的另一条数据进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28088663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com