我安装的一个 iPhone 应用程序使用 SQLite 数据库来记录条目,并在其上执行基本的 INSERTS 和 DELETES。
但是我希望保留对该表所做的 INSERT 的永久日志,因此当发生 INSERT 时,我希望它也被写入另一个表以创建日志。
我无权访问应用程序源代码来修改所做的 SQL 语句,但我可以访问 SQLite 数据库。
我可以用触发器做到这一点吗?如果是这样,有人可以提供一个简短的例子。
我安装的一个 iPhone 应用程序使用 SQLite 数据库来记录条目,并在其上执行基本的 INSERTS 和 DELETES。
但是我希望保留对该表所做的 INSERT 的永久日志,因此当发生 INSERT 时,我希望它也被写入另一个表以创建日志。
我无权访问应用程序源代码来修改所做的 SQL 语句,但我可以访问 SQLite 数据库。
我可以用触发器做到这一点吗?如果是这样,有人可以提供一个简短的例子。
从未使用过 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;
高温高压
您通过 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 之前的那个。