1、定期执行:
DELETE FROM table where _id NOT IN (SELECT _id from table ORDER BY insertion_date DESC LIMIT 50)
2、或者建立一个trigger:
CREATE TRIGGER delete_till_50 INSERT ON _table WHEN (select count(*) from _table)>50
BEGIN
DELETE FROM _table WHERE _table._id IN (SELECT _table._id FROM _table ORDER BY _table._id limit (select count(*) -50 from _table ));
END;
2.1解释:
a.触发条件:
INSERT ON _table WHEN (select count(*) from _table)>50
插入表时看下总条数是否大于50,如果大于50则出发。
b.删除数据
DELETE FROM _table WHERE _table._id IN (SELECT _table._id FROM _table ORDER BY _table._id limit (select count(*) -50 from _table ));
1.找出要删除的id:DELETE FROM _table WHERE _table._id IN
2.从时间最早的开始删除,只保存最近的50条:限定查询数量,limit (select count(*) -50 from _table )。对id进行排序,当然也可以用时间排序。