我尝试做的是在更新行的值之前触发一个触发器语句。
该陈述将需要查看要更新的新存款金额是否大于另一列中的现有债务,这是我迄今为止所尝试的。
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
如果PAID的金额大于DEBT,我需要触发器才能工作。
我尝试过使用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);
任何帮助将不胜感激。感谢。
答案 0 :(得分:1)
将更新前更改为更新后,您的触发器应该有效