【发布时间】:2018-03-05 21:48:06
【问题描述】:
我在我的 Rails 项目中使用 sqlite3,我需要创建一个触发器,当另一个引用表被更新时,它会自动插入到表中。 例如,我有 2 个表 Breakdown 和 Total,每个表的架构如下。 细分
Date TEXT NOT NULL,
Amount DECIMAL NOT NULL
总计
Date TEXT NOT NULL,
Daily_Total DECIMAL NOT NULL,
FOREIGN KEY (Date) REFERENCES Breakdown(Date)
然后,下面是我的触发器创建。
CREATE TRIGGER update_sum AFTER INSERT ON Breakdown
...> BEGIN
...> INSERT OR REPLACE INTO Total (Date, Daily_Total)
...> VALUES (Breakdown.Date,
...> (SELECT SUM(Amount) FROM Breakdown WHERE Date = Total.Date));
...> END;
所以,我的想法是,当我以 **INSERT INTO Breakdown VALUES (Date('now'),19.99);** 的身份插入 Breakdown 表时,Total 表会通过插入或更新来更新。
但是,当我插入细分表时,我收到一条错误消息 Error: no such column: Breakdown.Date
谁能告诉我我做错了什么?
谢谢!
【问题讨论】: