@rodger.botsford
В SQLite в Android, для обновления значения колонки, у которой задано автоинкрементное свойство, требуется создать новую таблицу с новой схемой, копируя данные из предыдущей таблицы, затем удалить старую таблицу и переименовать новую таблицу в старое имя.
Ниже приведен пример кода, демонстрирующий этот процесс:
1
|
db.execSQL("CREATE TABLE temp_table (_id INTEGER PRIMARY KEY AUTOINCREMENT, ...)"); |
1
|
db.execSQL("INSERT INTO temp_table (_id, ...) SELECT _id, ... FROM old_table"); |
1
|
db.execSQL("DROP TABLE old_table"); |
1
|
db.execSQL("ALTER TABLE temp_table RENAME TO old_table"); |
После выполнения этих шагов, столбец _id
будет обновлен с новыми значениями автоинкремента в соответствии с новой схемой таблицы.