0
トリガーで宣言されている現在のテーブルが更新されると、別のテーブルのフィールドを更新する必要があります。しかし、私は2つの条件の後にのみ更新する必要がありますSQLiteトリガーの複数の条件
public class Match{
public int participant1;
public int participant2;
public int winner;
public boolean finalMatch;
public int standingId;
}
public class Standings{
public int id;
public int firstPlace;
public int SecondPlace;
}
private static final String CREATE_TRIGGER_MATCH_UPDATE_BRACKET_WINNERS_F1 = "CREATE TRIGGER if not exists updatefields
AFTER UPDATE OF winner
ON Match
WHEN new.finalMatch = 1 AND new.winner = new.participant1
BEGIN
UPDATE Standings
SET firstPlace = new.winner
SecondPlace = new.participant2
WHERE id = new.standingId
END;"
しかし、これはエラーをスローします。どうやら、アンドロイドのトリガーには「WHEN条件」しかない可能性があります。今私はそれをチェックする方法について本当によく分からない。 1つのトリガで2つのフィールドのこの更新を行いたいのですが。 "firstPlace"の設定と "secondPlace"の設定の2つのトリガーを行うと、2番目のトリガーはStandingsテーブルに表示され、その "secondPlace"値へのアクセス方法はわかりません。構文(trigger、update)エラーを修正した後
は、私はセミコロンを逃しました! – gdubs