我使用SQLiteOpenHelper创建了表格,我创建的表格的图像在下面给出了
在此之后我从表中删除了第一行,现在我的表看起来像这个
您可以看到ID现在以2开头。 所以我的问题是当我删除第一行时id第一列转到2 请帮我解决这个问题。我想要一张看起来像这样的桌子。
答案 0 :(得分:1)
你可以看到id现在以2开头。所以我的问题就是我 删除id第一列转到第一行的第2行请帮我 解决这个问题
id值没有问题。如果您正在使用自动增量,这是正常行为。在autoincrement的情况下有内部迭代器,它没有“记忆”。
想象一下这种情况:您有两行ID为1,2。
删除第一行时会发生什么?
在db中将保留一行id为2,但是如果你要插入下一行,这行将自动具有值id而不删除1如果你将删除第一行,第二行不会将值更改为1
在另一种情况下,如果您不使用自动增量,这是可能的(只能以编程方式进行),但我认为这种方法无效。如果你有例如milion记录,那么每行的id应该改变吗?这病了。
所以这里真的不是问题,而是正常行为。
答案 1 :(得分:0)
您的问题可能是以下之一:
您的ID字段简称为id
,而Android使用传统名称_id
(作为Java常量,BaseColumns._ID
)。
ID字段的类型应为INTEGER PRIMARY KEY