我創建SQLite數據庫如下刪除行後如何重置Sqlite ID值?
NSString * sqlStmt [email protected]"CREATE TABLE IF NOT EXISTS SONGS (ID INTEGER PRIMARY KEY AUTOINCREMENT, MOVIENAME TEXT, SONGNAME TEXT)";
在數據庫中刪除第7行後的ID值是1,2,3,4,5,6,8,9 ......通過使用下面的代碼,其中的ID號= 7。
const char *dbpath = [databasePath UTF8String];
if (sqlite3_open(dbpath, &_SQliteDB) == SQLITE_OK)
{
NSString *sql = [NSString stringWithFormat:@"delete from SONGS where ID=%d",idNumber];
const char *del_stmt = [sql UTF8String];
char *error ;
if (sqlite3_exec(_SQliteDB,del_stmt, NULL, NULL, &error) == SQLITE_OK)
{
NSLog(@"sucessfully delete");
} else
{
NSLog(@"unable to delete");
}
sqlite3_close(_SQliteDB);
}
else
{
NSLog(@"unable to open");
}
我需要重新安排順序爲1,2,3,4,5,6,7,8? 任何幫助,將不勝感激。
您不能修改AUTOINCREMENT字段。請添加一個新的int列(如「訂購」)進行訂購,然後您可以添加一個訂單值爲7的新行。 –