如何让sqlite的id和行数保持一致?


我在应用里对数据库进行一番删除添加之后,想着通过for循环把数据库里的数据根据id一行一行全都取出来。
可是问题来了,当我去查看第一行的id时,发现已经排到100多了,怪不得我取id为0的会出现null。
所以我想要是能让id和行数保持一致,那我的问题也就能解决了。即第一行的id永远为1,第二行永远为2,依次类推,有什么好的方法么?

Android 数据库 sqlite

櫛枝.实乃梨 9 years, 4 months ago

你可以给一个自增列为主键。用来做标识。

23次狂热 answered 9 years, 4 months ago

你不删除数据就行了

修·西拉卡娃 answered 9 years, 4 months ago

我也想过这个问题,最终没能实现。不过你可以先遍历数据库,并把id存到一个数组里,这样就可以用与item对应的id进行操作了。

saiya酱 answered 9 years, 4 months ago

首先行数只是个相对概念,不同查询会返回不同结果表。这样做有什么意义呢?!

oMasw answered 9 years, 4 months ago

数据库没有这种功能,因为对于自增id来说,删除完一行数据之后,这个id就不再使用了,就会在整个表中出现很多id窟窿,数据库这么设计应该是出于防止数据id冲突(已删除的数据和新增的数据id相同)

cyandic answered 9 years, 4 months ago

Your Answer