为什么Sqlite错误:无法在表上创建INSTEAD OF触发器?

cev*_*ing 6 database sqlite triggers

我尝试为表上的更新创建一个替代触发器.正常使用的替代触发器是视图,但Sqlite手册说,替代触发器对表也有效.但我得到错误:无法在表上创建INSTEAD OF触发器.我想知道为什么.

我用外键:

PRAGMA foreign_keys = ON;
Run Code Online (Sandbox Code Playgroud)

我有两张桌子.标识符表:

CREATE TABLE id
(
    id      INTEGER PRIMARY KEY AUTOINCREMENT,
    created REAL    NOT NULL DEFAULT CURRENT_TIMESTAMP
);
Run Code Online (Sandbox Code Playgroud)

以及一个引用标识符的表:

CREATE TABLE person
(
    id        INTEGER NOT NULL DEFAULT (last_insert_rowid()) REFERENCES id,
    login     TEXT,
    password  TEXT,
    firstname TEXT,
    lastname  TEXT,
    email     TEXT,
    created   REAL  NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (id, created)
);
Run Code Online (Sandbox Code Playgroud)

插入工作正常:

INSERT INTO id DEFAULT VALUES;
INSERT INTO person (login) VALUES ('root');
SELECT * FROM person;
1|root|||||2012-02-28 18:03:45
Run Code Online (Sandbox Code Playgroud)

现在我想定义以下触发器,它将更新转换为插入:

CREATE TRIGGER person_update INSTEAD OF UPDATE OF login, password, firstname, lastname, email ON person
BEGIN
    INSERT INTO person (login, password, firstname, lastname, email)
    VALUES (new.login, new.password, new.firstname, new.lastname, new.email);
END;
Run Code Online (Sandbox Code Playgroud)

但它失败了上述错误,我不明白为什么.

Til*_*ill 10

我尝试浏览源代码(搜索"无法创建INSTEAD OF"),尽管在注释中读取了创建触发器语句的详细概述,但我会说触发器INSTEAD OF只用于视图而不能使用与表.