我试图将表限制为只有一条记录,并禁止所有添加更多记录的尝试。
我创建了此触发器:CREATE TRIGGER abort_insert_to_my_tbl BEFORE INSERT ON my_tbl
开始
RAISE(ABORT,"您无法将记录添加到 my_tbl")
结束;
但我不断收到此错误:
Error: near line 3080: near "RAISE": syntax error
我做错了什么?
最佳答案
作为documentation可见,RAISE是一个函数,而不是一个语句,所以不能直接在触发器体内使用。
要在语句中使用函数,请使用 SELECT 语句等:
CREATE TRIGGER abort_insert_to_my_tbl
BEFORE INSERT ON my_tbl
BEGIN
SELECT RAISE(ABORT, 'You can''t add records to my_tbl');
END;
关于sqlite - 使用 RAISE 创建触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22201049/