我正在创建一个数据库,我将存储一些有关电池的统计信息。 每次电池电量下降1%时,我想在我的sqlite数据库中添加一行信息。
这很好用,但随着时间的推移,这张桌子变得非常庞大。
我想要做的是设置最大记录数(例如,假设为100)。
是否可以设置我的表中的记录数,或者我是否需要每次检查此表并通过代码清理它?
这是我的代码:
create table batterystat (_id integer primary key autoincrement, value integer not null, ....)
我的查询
public Cursor fetchAllStats{
return db.query(databaseName,myColumns,null,null,null,null,null);
}
非常感谢您的帮助。
注意: “如果是这样的话,你必须自己做并按代码删除额外的行”可能是正确的答案:-p
答案 0 :(得分:2)
我会使用这样的触发器和删除查询:
CREATE TRIGGER batterystat_trigger AFTER INSERT ON batterystat
BEGIN
DELETE FROM batterystat where _id NOT IN (SELECT _id from batterystat ORDER BY insertion_date DESC LIMIT 100)
END