删除行之后如何重置Sqlite id值?

时间:2017-08-16 07:28:58

标签: ios xcode sqlite

我已经创建了sqlite数据库,如下所示

common_name

删除数据库中的第7行后,id值为1,2,3,4,5,6,8,9 ...使用以下代码,其中idNumber = 7。

        NSString * sqlStmt =@"CREATE TABLE IF NOT EXISTS SONGS (ID INTEGER PRIMARY KEY AUTOINCREMENT, MOVIENAME TEXT, SONGNAME TEXT)";

我需要按顺序重新排列顺序为1,2,3,4,5,6,7,8?  任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

您不应该重新订购ID,因为其他表可能会引用此ID。因为如果你能做到这一点,那么下一个问题将出现在你面前。

例如: - 你有第1,2,3行,你删除2,然后你有1,3。你按照任何方式排序。现在问题是当你要添加新项目时,它以4而不是3开始。

在您的情况下,如果出于显示原因,我建议您使用Row_Number

数据库中存在空白是没有问题的。

答案 1 :(得分:0)

如果您希望订单按顺序排列,则ORDER BY就是您要找的。

删除后,使用选择查询检索记录,如下所示:

NSString *select = @"SELECT * FROM SONGS ORDER BY ID"

有关ORDER BY的更多详细信息,请参阅link1以及如何在iOS中使用它,请参阅link2

答案 2 :(得分:0)

必须定义从数据库到新数组或列表的所有数据。之后,必须删除表并将所有数据从数组或列表重写到数据库。

您可以寻找android studio解决方案;

https://stackoverflow.com/a/57862686/8363647