У меня есть несколько таблиц в SQLite, и я пытаюсь понять, как сбросить автоматически увеличивающееся поле базы данных.
Я прочитал, что DELETE FROM tablename
должно удалить все и вернуть поле автоинкремента обратно 0
, но когда я это сделаю, он просто удалит данные. Когда вставляется новая запись, автоинкремент возобновляется с того места, где он остановился до удаления.
Мои ident
свойства поля следующие:
- Тип поля :
integer
- Поле Флаги :
PRIMARY KEY
,AUTOINCREMENT
,UNIQUE
Имеет ли значение, что я создал таблицу в SQLite Maestro и также выполняю DELETE
оператор в SQLite Maestro?
Любая помощь была бы замечательной.
Вы можете сбросить с помощью последовательности обновления после удаленных строк в вашей таблице
источник
В качестве альтернативного варианта, если у вас есть браузер базы данных Sqlite и вы больше склонны к решению с графическим интерфейсом, вы можете отредактировать таблицу sqlite_sequence, где имя поля - это имя вашей таблицы. Дважды щелкните ячейку для поля seq и измените значение на 0 в появившемся диалоговом окне.
источник
Если вы хотите сбросить каждый RowId через поставщика контента, попробуйте это
источник