Heim >Datenbank >MySQL-Tutorial >Wie setze ich einen automatisch inkrementierten Primärschlüssel in SQLite zurück?
Zurücksetzen des automatisch inkrementierenden Primärschlüssels in SQLite
Das einfache Löschen von Daten aus einer SQLite-Tabelle mit DELETE FROM
setzt den automatisch inkrementierenden Primärschlüssel nicht auf 1 zurück. Um dies zu erreichen, benötigen Sie einen zweistufigen Prozess:
<code class="language-sql">DELETE FROM your_table; DELETE FROM sqlite_sequence WHERE name = 'your_table';</code>
Die erste Anweisung entfernt alle Zeilen aus Ihrer Tabelle. Die zweite und entscheidende Anweisung löscht den Eintrag aus der Tabelle sqlite_sequence
. Diese Systemtabelle verfolgt die höchste ROWID für jede Tabelle mit einer automatisch inkrementierenden Spalte.
Den Autoinkrement-Mechanismus von SQLite verstehen
SQLite verwendet sqlite_sequence
, um automatisch inkrementierende Primärschlüssel zu verwalten. Wenn einer Tabelle eine neue Zeile mit einer AUTOINCREMENT
-Spalte hinzugefügt wird, konsultiert SQLite sqlite_sequence
, um die größte vorhandene ROWID zu finden, und erhöht sie.
Daher wirkt sich eine direkte Manipulation von sqlite_sequence
auf die automatische Inkrementierungssequenz aus. Gehen Sie vorsichtig vor und verstehen Sie die möglichen Auswirkungen vollständig, bevor Sie Änderungen vornehmen.
Das obige ist der detaillierte Inhalt vonWie setze ich einen automatisch inkrementierten Primärschlüssel in SQLite zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!