删除行并恢复rowId自动增量

时间:2013-07-14 09:22:16

标签: android sql database auto-increment

我有一个关于删除sql数据库中的行的问题。 我的方法使用onItemClick侦听器中的id来标识被单击的对象,但只要删除了一个项目,这些id就不再起作用了,因为它们与数据库中的id行不匹配。这是一个澄清我的意思的例子:

Android中的ListView

  • 第1项(id 0)
  • 第2项(id 1)
  • 第3项(id 2)

数据库(id得到纠正+1以匹配)

  • 第1项(id 1)
  • 第2项(id 2)
  • 第3项(第3项)

删除后

的ListView

  • 第1项(id 0)
  • 第3项(id 1)

数据库

  • 第1项(id 1)
  • 第3项(第3项)

现在单击项目3时,会选择ID为2的数据库中的条目,但它不再存在而导致异常

我正在寻找一种方法将数据库自动增量id列恢复为

  • 第1项(id 1)
  • 第3项(id 2)

编辑:经过一些研究后,我必须得出结论,不可能这样做。我将尝试找到类似于唯一标识符的内容,该标识符与请求对象的当前rowid一起存储在单独的表中。

1 个答案:

答案 0 :(得分:0)

您必须将id放在变量对象中,当您单击listitem时,您必须找到该对象的id并将其删除。

检查this complete tutorial。使用lang translater。