如何在SQLite中创建禁用特定表删除的触发器?

时间:2013-12-08 07:02:57

标签: django sqlite

如何在SQLite中创建禁用特定表删除的触发器?
这样就可以添加新行,但是您无法删除已经添加的行。

我遇到语法问题。

由于

更新

这是我的代码:

CREATE TRIGGER nodel_booksInventory_booklanguage DELETE on booklanguage
BEGIN
    RAISE ( ABORT, "MY ERROR") 
END

但它没有用。
我通过booklanguage.sqlite3.sql SQL文件添加它与Django中的manage.py syncdb。

1 个答案:

答案 0 :(得分:1)

根据documentation,您只能在触发器主体中使用UPDATE / DELETE / INSERT / SELECT语句。

要使用RAISE功能,请将其包装在SELECT:

CREATE TRIGGER nodel_booksInventory_booklanguage
BEFORE DELETE ON booklanguage
BEGIN
    SELECT RAISE(ABORT, 'my error');
END;