创建一个带有固定项目数量的 SQLITE 表格

3
我正在创建一个数据库,用于存储有关电池的一些统计数据。每当电池下降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


可能是限制SQLite表的最大行数的重复问题。 - Graham Borland
1个回答

4
我会使用触发器和如下的删除查询语句:

我会使用触发器和以下的删除查询语句:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接