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

时间:2014-12-28 11:30:17

标签: android sql database

SQL Lite Database: Android Programming 从之前的YouTube视频中,我了解了基本的SQL lite数据库。 我想问一下 清除数据后,将新数据添加到数据库中 但是id没有重置到开头。根据之前未清除的数据,数据刚刚添加到下一行。 我可以在清除数据后添加到开头行吗?谢谢!

2 个答案:

答案 0 :(得分:0)

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

通常的做法是使用数据库让它自动增量并且在将来不关心这个。 如果你真的需要这样做,你可以做下一步:

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

    更新:

    当您查询显示某些数据时。您将获取所有可用的记录(或其中某些部分取决于您的应用程序逻辑)并将其显示给用户。 Like delete the last row and update it不明白这一点。如果你删除它 - >它将被删除。下次创建行将到达最后一个位置。

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

答案 1 :(得分:0)

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

SQLite Reset Primary Key Field