限制会议室数据库中的行数

2022-09-01 07:27:45

如何通过删除行中最旧的项目并插入最新的项目来限制Android会议室数据库中的行数?

我猜这是向数据库添加项目时的标准查询?

编辑:我想将数据库表限制为最大行计数为20。如果达到该限制,我们将删除最旧的项目,并通过将当前行计数保持在 20 来插入新项目。


答案 1

下面是示例解决方案:

查询是:

@Query("SELECT * FROM user LIMIT :limit OFFSET :offset")
    User[] loadAllUsersByPage(int limit,int offset);

在这里,它将根据限制和偏移量给出用户列表。

如果它将从表中返回前 2 行。loadAllUsersByPage(2,0)

如果它将从表中返回第 2 行和第 3 行。loadAllUsersByPage(2,1)

但如果那样的话,它将从表中提供前10行。loadAllUsersByPage(-1,10)


答案 2

我认为您可以将数据插入到表中,然后删除除最后20行之外的所有行(限制)

若要删除,可以使用以下查询

从 ID 不在的表名中删除(从表名中选择 ID 按 ID 排序 DESC 限制 20)

在这种情况下,id 是设置为自动递增的主键。如果您按日期存储日期,也可以使用日期作为键


推荐