我一直在网上搜索如何在sqlite中使用“before trigger”.我知道使用“触发后”.我找到了一个说“触发前”用于在对数据库进行任何更改(表中的insert / updat行)之前进行验证的那个.为了清除表达式,我写了一个触发器,其中type是before,insert是insert以在插入之前验证标记.
我的触发器是
我的触发器是
create trigger mark_insert before insert on exam when mark<=50 begin insert into exam(mark) values(50); end;
也许这是错误的触发器.所以,你能指出我的错误吗?
我想检查标记是否小于或等于50.如果是,我想插入默认值(在这种情况下,50).我对sql和触发器并不熟悉并开始学习.
我的考试表有以下栏目,
id(pk) | subject | mark
如何在表定义中确保它?
CREATE TABLE exam ( ... CHECK(mark<=50) );