Android SQL Lite数据库在删除所有数据后将数据插入开头

Android SQL Lite数据库在删除所有数据后将数据插入开头,android,sql,database,Android,Sql,Database,从之前的youtube视频中,我了解了基本的SQLLite数据库。 我想问这个问题 清除数据后,您可以将新数据添加到数据库中 但id不会重置为开始。数据只是根据之前未清除的数据添加到下一行。 我可以在清除数据后添加到起始行吗?谢谢 是的,你可以这样做。 不,你不应该 通常的做法是使用数据库,让它自动递增,以后不再关心这个问题。 如果您确实需要这样做,您可以下一步: 不要将自动增量修改器放在IDs行上; 下次要在表中插入数据时,应该找到哪些ID是空的。把你的记录放到这些ID里。如果仍有记录要插入,

从之前的youtube视频中,我了解了基本的SQLLite数据库。 我想问这个问题 清除数据后,您可以将新数据添加到数据库中 但id不会重置为开始。数据只是根据之前未清除的数据添加到下一行。 我可以在清除数据后添加到起始行吗?谢谢

是的,你可以这样做。 不,你不应该

通常的做法是使用数据库,让它自动递增,以后不再关心这个问题。 如果您确实需要这样做,您可以下一步:

不要将自动增量修改器放在IDs行上; 下次要在表中插入数据时,应该找到哪些ID是空的。把你的记录放到这些ID里。如果仍有记录要插入,则应将其放在表的末尾。 我真的建议你保持原样。 我看不到手动查找表中的空白并将值放在此处的任何好处。但在将来,您将很难支持您的代码

更新:

当您查询以显示某些数据时。你只需要将所有可用的记录或其中的一部分,这取决于你的应用程序逻辑,并显示给用户。 就像删除最后一行并更新它一样,我不理解这一点。如果您删除它->它将被删除。下次创建行时,将到达最后一个位置


基本思想是:按原样显示数据。获取所有记录并将其显示在listtable或其他一些UI视图中。因此,当您创建行时,只需将其添加到列表的末尾即可。当然,您可以插入行,然后重新加载视图。

看起来与较旧的帖子相关。SQLLite为序列ID维护一个单独的元数据表sqlite_序列。解决方案是从该表中删除表名的条目


如果ID是自动递增的,那么删除记录不会重置ID,或者维护您自己的ID,或者您需要完全删除架构以重新开始计数。我不确定你的问题是基于一个教程,所以不回答,而是把它放在评论中。如果你关心这一点,你应该创建并维护你自己的ID列。你将了解到ID不是一个位置指示器,即:它不会对应于ListView项,但它是一个。。。标识符,如您的身份证:这是一个唯一的代码。当你处理相关的表时,也就是说,你将规范化你的数据库,你会明白你最好不要弄乱ID-为了不在另一个表中留下孤儿。不清楚你的数据库中的ID代表什么或者你试图实现什么。请编辑您的问题以提供更多详细信息。我之所以要这样做,是因为我希望将其设置为excel文件,以便轻松存储数据并访问某些位置。一旦我不需要它们,我就需要删除它们,重新开始。另外,如果我想更新一些行的数据呢?如删除最后一行并更新它。是否将更新的数据添加到下一行?