2012-02-20 6 views
0

私は比較的SQL/SQLiteを使っていません。データベースにトリガーを設定しようとしています。基本的に、人の名前とIDを含む1つのテーブルがあり、他のテーブルにはそれらの人のエントリが含まれています。ここに私のテーブルのスキーマは次のとおりです。AndroidのSQLiteのトリガーのトラブル

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; 

答えて

0

未テスト...

CREATE TRIGGER update_total_balance AFTER INSERT ON entries 
BEGIN 
UPDATE people SET amount_people = amount_people + new.amount_entry 
    WHERE _id = new.user; 
END; 
+0

ああ、それは私が達成しようとしたまさにそれです!引き金を引いた私の試みのいくつかでは、私はamount_peopleに古いものと新しいものを接頭していましたが、私は間違っていたと思います。レスポンスありがとう! – cbrown