Android、SQLite查找第一个空行

Android、SQLite查找第一个空行,android,sqlite,Android,Sqlite,如何找到SQLite的第一个可插入rowid 如您所知,如果删除最后一行(例如rowId=10),并再次插入一条记录,它将获得下一个id rowId=11 因此,我不是在寻找插入的最后一个rowId,也不是下一个,而是第一个可插入的rowId。谢谢。假设您的rowId使用自动增量算法,您可以从sqlite\u序列表查询其当前值。下一个id是+1 例如: SELECT seq+1 FROM sqlite_sequence WHERE name='your_table_name'; 如果您的row

如何找到SQLite的第一个可插入rowid

如您所知,如果删除最后一行(例如rowId=10),并再次插入一条记录,它将获得下一个id rowId=11


因此,我不是在寻找插入的最后一个rowId,也不是下一个,而是第一个可插入的rowId。谢谢。

假设您的rowId使用自动增量算法,您可以从sqlite\u序列表查询其当前值。下一个id是+1

例如:

SELECT seq+1 FROM sqlite_sequence WHERE name='your_table_name';
如果您的rowid是常规整数主键,则rowid将仅为MAX+1:

SELECT MAX(rowid)+1 FROM your_table_name;

你为什么担心这个?因为我有一些相关的表,当我想插入一条记录时,我必须知道另一个表的第一个可插入id,以便在当前表中使用,插入后,我应该将我的记录插入第二个表。复杂:只需插入你的新记录。然后使用Max函数获取其id,并使用该id将新记录插入到另一个表中。这不会填补空白,例如,有人删除了第二行。为什么要重用标识符?如果它被用作数据库外部公开的主键。第一个可插入的rowid可能是删除以前的行的结果。是的,为什么会有人想重用它,特别是当id暴露在外部时?