1.不能同时捕捉UPDATE/INSERT/DELETE
2.用old.XXX和new.XXX区分UPDATE数据的经过
3.primary key设置要注意,容易与UPDATE冲突
例子:
1.建表和建触发器
CREATE TABLE worker(id int primary key,name text,age int);
CREATE TABLE Log(id integer,new_name text,old_name text,entry_date text);
CREATE TRIGGER Log_update after update on worker
begin
insert into Log(id,new_name,old_name,entry_date) values(new.ID,new.name,old.name,datetime('now','localtime'));
end;
2.插入数据
insert into worker values(1,'apple',32);
insert into worker values(2,'appl',33);
insert into worker values(3,'apl',34);
3.更新数据
update worker set name='banana' where id='1';
sqlite> select * from worker;
id name age
---------- ---------- ----------
1