内容提供者的"_id"列的首选类型是什么:int还是long?

S.D*_*.D. 2 sqlite android

我在android源代码中遇到过代码,它隐式检查内容提供者的某些数字ID是否为long类型.然而,Sqlite似乎只有"INTEGER"类型.

那么,为了安全起见,总是应该使用长数据类型来处理sqlite中"INTEGER"列的值吗?

CL.*_*CL. 5

在SQLite中,所有整数值都有64位.小值更有效地存储在数据库文件中,但这是完全透明的.

因此,如果您的_id列可能超过20亿个值,那么您应该使用long.

  • IOW,这取决于你放入专栏的内容.如果你的代码是将东西放入列的唯一代码,并且你一直存储`int`,你可以一致地检索`int`. (2认同)