Mam kilka tabel w SQLite i próbuję dowiedzieć się, jak zresetować pole bazy danych o automatycznym zwiększaniu.
Czytałem, że DELETE FROM tablename
powinno usunąć wszystko i zresetować pole auto-incremement z powrotem do 0
, ale kiedy to zrobię, po prostu usuwa dane. Po wstawieniu nowego rekordu funkcja autoinkrementacji rozpoczyna się w miejscu, w którym została przerwana przed usunięciem.
Moje ident
właściwości pola są następujące:
- Typ pola :
integer
- Polowe Flagi :
PRIMARY KEY
,AUTOINCREMENT
,UNIQUE
Czy ma znaczenie, że zbudowałem tabelę w SQLite Maestro i wykonuję DELETE
instrukcję również w SQLite Maestro?
Każda pomoc byłaby świetna.
Możesz zresetować przez sekwencję aktualizacji po usuniętych wierszach w tabeli
źródło
Alternatywną opcją, jeśli masz przeglądarkę bazy danych Sqlite i jesteś bardziej skłonny do rozwiązania z graficznym interfejsem użytkownika, możesz edytować tabelę sqlite_sequence, gdzie nazwa pola to nazwa twojej tabeli. Kliknij dwukrotnie komórkę dla pola seq i zmień wartość na 0 w wyświetlonym oknie dialogowym.
źródło
Jeśli chcesz zresetować każdy RowId za pośrednictwem dostawcy zawartości, spróbuj tego
źródło