SQLite: AUTOINCREMENT-Feld zurücksetzen
Frage von Gast | Letztes Update am 01.12.2022 | Erstellt am 06.04.2017
In meiner SQLite-Datenbank habe ich eine ID-Spalte, deren Integer-Wert mit Hilfe von AUTOINCREMENT automatisch hoch gezählt wird, sobald ein neuer Eintrag in die Tabelle kommt.
Das funktioniert wunderbar, jedoch lösche ich die Tabelle häufig und sobald ich dann in die leere Tabelle neue Daten schreibe, fängt die Zählung nicht neu an sondern bei dem letzten Wert, den die Spalte vorher hatte.
Kann man diesen AUTOINCREMENT-Wert irgendwie zurücksetzen, dass er wieder von neuem bei 0 beziehungsweise 1 anfängt?
Ähnliche Themen
PHP: Formular-Eingaben als Array an PHP Skript schicken
Tipp | 0 Kommentare
Mehrere Texte gleichzeitig ersetzen
Tutorial | 0 Kommentare
SQLite: String und Spalten verknüpfen mit SQLite (CONCAT)
Info | 2 Kommentare
E-Mails: Was bedeuten TO, CC und BCC und was ist der Unterschied?
Info | 0 Kommentare
MySQL: Suchen und Ersetzen direkt in MySQL
Tipp | 1 Kommentar
SQLite: RPAD und LPAD in SQLite - Zeichen rechts und links auffüllen
Info | 1 Kommentar
SQLite: IF(a, b, c) Syntax funktioniert nicht
Frage | 1 Antwort
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
SQLite speichert die letzte ROWID in der Tabelle SQLITE_SEQUENCE, die von SQLite automatisch verwaltet wird. Der Wert darin bleibt selbst dann erhalten, wenn du deine komplette Tabelle leerst.
Du müsstest also sowohl deine Tabelle leeren, als auch die Daten über deine Tabelle in der SQLITE_SEQUENCE Meta-Tabelle. Zum Beispiel so:
Nehmen wir an, dass deine Tabelle, die du löschen möchtest, "tab" heißt. Die erste Zeile würde alle Daten aus deiner Tabelle leeren, die zweite Zeile die Einträge der SQLITE_SEQUENCE. Wenn du nun einen neuen Eintrag zu deiner Tabelle hinzufügt, beginnt die Zählung wieder von vorne.
Alternativ kannst du natürlich auch individuell die Werte von SQLITE_SEQUENCE ändern. Die Query hier würde beispielsweise die Zählung bei 10 beginnen lassen.
07.04.2017 um 12:37