0
我在我的Rails項目上使用sqlite3,我需要創建一個觸發器,當另一個引用表更新時自動插入到表中。 例如,我有2個表分解和總計,每個表的模式如下。下面 擊穿與UPSERT sqlite3觸發器
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.Date
誰能告訴我的地步,我做錯了嗎?
謝謝!
太謝謝你了!那正是我想要的!但是,我可以獲得更多的解釋或文檔,以瞭解爲什麼我們使用NEW而不是實際的表名稱? – Terrence