Android studio SQLite 在删除项目后更新 ID

Android studio SQLite update ID's after deleting item

我正在使用 SQLite 存储数据,如果我删除最后一行,ID 为 4,然后添加一个新行,ID 为 5,应该是 4。在尝试查看数据时,它崩溃,因为它无法从 ID 5 中找到数据。

Database Inspector

在数据库检查器中,ID 列左侧是行号。这是可访问的,因为这可以解决问题,还是它只是 Android studio 中的行号指示器。

谢谢你,祝你有愉快的一天!

我认为你可以使用一种方法来恢复你插入的最后一个项目,或者具有更高 ID 的项目,这样你就拥有了你需要作为额外放置的下一个 ID 的值。如果在没有值时需要它,则在删除最后一项时保存它,或者重置数据库以便重新启动 id

的计数

通过添加这些使其工作:

String strSQL1 = "UPDATE people_table SET id = (id +1) WHERE id < 1";
String strSQL = "UPDATE people_table SET id = (id -1) WHERE id > 1";
db.execSQL(strSQL);
db.execSQL(strSQL1);

即使我删除了第一个和最后一个之间的内容,id 也会向右移动。 您需要从 id 中删除 autoincrement 才能正常工作。