Ich habe einige Tabellen in SQLite und versuche herauszufinden, wie das automatisch inkrementierte Datenbankfeld zurückgesetzt werden kann.
Ich habe gelesen, dass DELETE FROM tablename
alles gelöscht und das Feld für die automatische Inkrementierung zurückgesetzt werden sollte 0
, aber wenn ich dies tue, werden nur die Daten gelöscht . Wenn ein neuer Datensatz eingefügt wird, wird die automatische Inkrementierung dort fortgesetzt, wo sie vor dem Löschen aufgehört hat.
Meine ident
Feldeigenschaften sind wie folgt:
- Feldtyp :
integer
- Feld Flags :
PRIMARY KEY
,AUTOINCREMENT
,UNIQUE
Ist es wichtig, dass ich die Tabelle in SQLite Maestro erstellt habe und die DELETE
Anweisung auch in SQLite Maestro ausführe ?
Jede Hilfe wäre großartig.
Sie können nach Aktualisierungssequenz nach gelöschten Zeilen in Ihrer Tabelle zurücksetzen
quelle
Alternativ können Sie die Tabelle sqlite_sequence bearbeiten, wobei der Feldname der Name Ihrer Tabelle ist, wenn Sie über den Sqlite-Datenbankbrowser verfügen und eher zu einer GUI-Lösung neigen. Doppelklicken Sie auf die Zelle für das Feld seq und ändern Sie den Wert im daraufhin angezeigten Dialogfeld auf 0.
quelle
Wenn Sie jede RowId über den Inhaltsanbieter zurücksetzen möchten, versuchen Sie dies
quelle