我有两张桌子。一个是扣除,另一个是deductTrans。 idDeductions是Deductions中的关键字段,它是deductTrans中的外键。当插入deductTrans时,我想要在扣除中自动执行一些操作。我有这个触发器,它可以编译。
CREATE TRIGGER trig_DeductTrans AFTER INSERT ON DeductTrans
BEGIN
UPDATE Deductions
SET remainingCt = remainingCT - 1
WHERE
idDeductions = New.idDeductions ;
END;
当我插入记录时,我收到以下错误:"没有像idDeductions这样的列"
我不知所措。我已经尝试将WHERE更改为Deductions.idDeductions = New.idDeductions但它没有帮助。有什么想法吗?
答案 0 :(得分:0)
SQLite声称Deductions
表没有名为' idDeductions'的列。您还没有给我们任何检查手段,但很可能是正确的。我发现您的触发器位于不同的桌子上(DeductTrans
),显然您希望还有一个列idDeductions
。
Deductions
中的相应列很可能以不同的名称命名。例如,它可能只是命名为id
。
答案 1 :(得分:0)
行。离奇。我在Navicat Premium上测试了这个。厌恶地保存了触发器,关闭了程序,然后去吃午饭。回来后想,我再试一次。工作就像一个魅力。打败了我们的一切!