gpt4 book ai didi

sqlite - 如何在sqlite中插入触发器之前进行验证

转载 作者:IT王子 更新时间:2023-10-29 06:25:26 26 4
gpt4 key购买 nike

我一直在网上搜索如何在 sqlite 中使用“触发前”。我正确地知道使用“触发后”。我发现有人说“触发前”用于在对数据库进行任何更改(插入/更新表中的行)之前进行验证。为了清除表达式,我写了一个触发器,其中类型是 before 并且 event 是 insert 以在插入之前验证标记。我的触发器是

create trigger mark_insert before insert on exam
when mark<=50
begin
insert into exam(mark) values(50);
end;

可能是错误的触发器。那么,您能指出其中的错误吗?我想检查标记是否小于或等于 50。如果是,我想插入默认值(在本例中为 50)。对sql和trigger不是很熟悉,开始学习。

我的考试表有以下列,

id(pk) | subject | mark

最佳答案

如果要检查标记是否小于等于50

CREATE TRIGGER trigger_min_mark AFTER INSERT ON exam
WHEN New.mark<=50
BEGIN
UPDATE exam SET mark=50 WHERE id = New.id;
END

请注意,在 when 语句中,您必须指定 New.ColumnName

关于sqlite - 如何在sqlite中插入触发器之前进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8173520/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com