【发布时间】:2012-02-20 18:15:17
【问题描述】:
我对 SQL/SQLite 比较陌生,我正在尝试在我的数据库中设置触发器。基本上,有一个表包含人的姓名和 ID,而另一个表包含这些人的条目。这是我的表的架构:
CREATE TABLE people(_id INTEGER PRIMARY KEY AUTOINCREMENT, name STRING NOT NULL,
amount_people INTEGER);
CREATE TABLE entries (_id INTEGER PRIMARY KEY AUTOINCREMENT,
user INTEGER NOT NULL, date STRING NOT NULL,
title STRING NOT NULL, amount_entry INTEGER NOT NULL,
notes STRING, FOREIGN KEY (user) REFERENCES people (_id) ON DELETE CASCADE);
我想构建一个触发器,每次在条目表中为该用户创建一个新条目时,该触发器都会更新该用户在该用户表中的余额。这似乎应该很容易,但我在过去的 2 个小时里试图实现这一目标,但没有成功。
这是我错误的触发器版本:
CREATE TRIGGER update_total_balance AFTER INSERT ON entries
BEGIN
UPDATE people SET amount_people = amount_people + (amount_entry FROM entries)
WHERE _id = (user FROM entries);
END;
【问题讨论】:
标签: android sql database sqlite triggers