SQLITE 触发器的多个条件

Multiple condition for SQLITE Triggers

如果在触发器上声明的当前 table 得到更新,我需要更新另一个 table 上的字段。但我只需要在 2 个条件后更新

    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;"

但这会引发错误。显然 android 上的触发器只能在 "WHEN condition" 上。现在我真的不确定如何去检查它。因为我想在一个触发器上更新这两个字段。如果我执行两个触发器,一个用于 "firstPlace" 的设置,另一个用于 "secondPlace",第二个将出现在排名 table 上,我不确定如何获得访问该 "secondPlace" 值。

修复语法(trigger, update)错误后,触发器被接受:

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,          -- comma here
        SecondPlace = new.participant2
    WHERE id = new.standingId;             -- semicolon here
END;