【问题标题】:SQLite creating an AFTER UPDATE TriggerSQLite 创建 AFTER UPDATE 触发器
【发布时间】:2023-03-18 13:02:02
【问题描述】:

我正在尝试创建一个 SQLite 触发器,它会在玩家每次达到 10 点时自动将字段 FlagPayment 设置为 1,但是,显然我有语法错误。

CREATE TRIGGER aft_update AFTER UPDATE ON Player
FOR EACH ROW WHEN (NEW.ParticipationPoints % 10 = 0) and (NEW.ParticipationPoints > 0)
BEGIN
    UPDATE Player SET FlagPayment = 1 WHERE ID = NEW.ID
END;

这是结果:

“END”附近:语法错误:CREATE TRIGGER aft_update AFTER UPDATE ON 每一行的玩家(NEW.ParticipationPoints % 10 = 0)和 (NEW.ParticipationPoints > 0) BEGIN UPDATE Player SET FlagPayment = 1 WHERE ID = NEW.ID END

【问题讨论】:

    标签: sqlite


    【解决方案1】:

    documentation所示,触发器主体中的所有语句都必须以分号结束:

    BEGIN
        UPDATE Player SET FlagPayment = 1 WHERE ID = NEW.ID;
    END;                                                   ^
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-02
      • 2021-07-22
      相关资源
      最近更新 更多