SQLite使用DEFAULT VALUES创建触发器错误

时间:2015-04-12 11:02:29

标签: triggers sqlite

关于sqlite文档:https://www.sqlite.org/lang_createtrigger.html我在更简单的数据库表上创建了一个非常简单的触发器(使用SQLite3数据库):

CREATE TABLE IF NOT EXISTS
users_ids 
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
status INTEGER DEFAULT 0
)

触发器:

CREATE TRIGGER addID
AFTER UPDATE OF status
ON users_ids
WHEN NEW.status > 0
BEGIN
    INSERT INTO users_ids DEFAULT VALUES;
END

这给了我关于DEFAULT关键字的错误。如果我将INSERT更改为:

INSERT INTO users_ids (status) VALUES (0);

然后它有效。但是由于文档明确提到了默认值INSERT的选项(插入触发器除外),所以我看不出它为什么会给我这个错误。我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

CREATE TABLE IF NOT EXISTS users_ids ...
 AFTER UPDATE OF status ON user_ids ...
               INSERT INTO user_id ...

请确定该表的名称实际上是什么。

此外,documentation说:

  

不支持INSERT语句的“INSERT INTO table DEFAULT VALUES”形式。