android - 了解android sqlite自动增量字段

标签 android sqlite

我的 android sqlite 数据库中有一个表。有一个字段“id”,它是自动递增的主键。我的应用程序服务每分钟在表中插入一行。在某个时间点我正在删除条目早于 5 天。因此总条目数有限。但 id 正在增加。所以我对 id 的值感到困惑,因为它随着每个新条目的增加而增加。“id”字段超过最大值时的情况是什么?这个字段的最大值是多少?在这种情况下如何使用它?我真的可以在这里使用自增字段吗?

建表语句:

create table datausage (id integer primary key autoincrement,"
            + "date date not null,time text not null,level integer)

最佳答案

参见 this对于官方文档。最大可能的 ROWID 是 9223372036854775807,如果您每秒写入 1000 个条目,它将持续超过 10675199116 天:我认为您不会有困难。

当达到该值时,数据库将开始选择未使用的 ID,因此您也可以。

使用 AUTO INCREMENT:这是您可用的最佳选项。

编辑:另外,它被称为 AUTO INCREMENT 是有原因的。它应该会自动增加。

关于android - 了解android sqlite自动增量字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6674268/

相关文章:

android - 需要解释如何将数据从适配器发送到 fragment

android - 自定义对话框不显示,只是褪色的黑色背景

在 MS Access 中使用的 SQLite 数据类型

Django - 在多个数据库之间同步数据

sqlite - 除了SQLite中的索引,我还需要其他索引吗?

android - Shake 事件在各种设备上的工作方式不同 Shake Event 自定义实现

android - 卡片翻转期间奇怪的阴影行为

android - 转换为 Dalvik 格式失败 : Unable to execute dex: java. util.Arrays.copyOfRange

mysql - SQL 返回包含非 NULL 数据的字段列表

c++ - Sqlite:如何从 C++ 绑定(bind)和插入日期?