我安装的iPhone应用程序使用SQLite数据库记录对其执行基本INSERTS和DELETES的条目。
但是我希望保留对此表所做的INSERTS的永久日志,因此当INSERT发生时,我希望将其写入另一个表以便创建日志。
我无法访问应用程序源代码以修改所做的SQL语句,但我确实可以访问SQLite数据库。
我可以使用触发器执行此操作吗?如果是这样,有人可以提供一个简短的例子。
答案 0 :(得分: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;
HTH
答案 1 :(得分:1)
您通过Google访问的SQLite参考部分和搜索字词'sqlite trigger'(即SQLite Query Language: CREATE TRIGGER)是否难以理解?
CREATE TRIGGER ins_maintable AFTER INSERT ON MainTable
FOR EACH ROW BEGIN INSERT INTO LoggingTable VALUES(NEW.Column1, ...); END;
未经测试的代码......如果要相信语法图,则需要两个分号;或者,至少需要END之前的那个。