关于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
的选项(插入触发器除外),所以我看不出它为什么会给我这个错误。我在这里缺少什么?
答案 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”形式。