0

我安装的一个 iPhone 应用程序使用 SQLite 数据库来记录条目,并在其上执行基本的 INSERTS 和 DELETES。

但是我希望保留对该表所做的 INSERT 的永久日志,因此当发生 INSERT 时,我希望它也被写入另一个表以创建日志。

我无权访问应用程序源代码来修改所做的 SQL 语句,但我可以访问 SQLite 数据库。

我可以用触发器做到这一点吗?如果是这样,有人可以提供一个简短的例子。

4

2 回答 2

3

从未使用过 SQLite,但这是来自 google 的第一个链接:http ://www.sqlite.org/lang_createtrigger.html

你可能会写这样的东西:

CREATE TRIGGER duplicate_insert INSERT ON myTable
    BEGIN
        INSERT INTO myDuplicateTable
        VALUES(new.Id, new.Name, new.LastModified)
    END;

高温高压

于 2011-06-27T06:22:41.387 回答
1

您通过 Google 获得的 SQLite 参考资料的哪一部分以及搜索词“sqlite trigger”(即SQLite 查询语言:CREATE TRIGGER)难以理解?

CREATE TRIGGER ins_maintable AFTER INSERT ON MainTable
    FOR EACH ROW BEGIN INSERT INTO LoggingTable VALUES(NEW.Column1, ...); END;

未经测试的代码...如果要相信语法图,则需要两个分号;或者,至少需要 END 之前的那个。

于 2011-06-27T06:21:57.357 回答