了解android sqlite自动增量字段

Ras*_*sel 7 sqlite android

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

表Creation语句:

create table datausage (id integer primary key autoincrement,"
            + "date date not null,time text not null,level integer)
Run Code Online (Sandbox Code Playgroud)

Fem*_*emi 23

请参阅官方文档.最大可能的ROWID是9223372036854775807,如果你正在写1000个条目,则每秒会持续超过10675199116天:我不认为你会遇到这个问题.

当达到目标时,数据库将开始挑选未使用的ID,因此您也可以.

使用AUTO INCREMENT:它是您可以使用的最佳选择.

编辑:同样,它被称为AUTO INCREMENT有一个原因.它应该自动增加.


Fer*_*ker 5

自动递增的主键将永远递增(用我们的术语来说)并且不会替换已删除的记录。即使您删除旧记录,id 字段也会不断增加。

正如其他答案中所述,该领域也有足够的空间。