Heim >Datenbank >MySQL-Tutorial >Wie kann ich einen automatisch inkrementierenden Primärschlüssel in SQLite ordnungsgemäß zurücksetzen?
SQLite-Primärschlüssel mit automatischer Inkrementierung zurücksetzen
Das Zurücksetzen automatisch inkrementierender Primärschlüsselfelder kann bei Verwendung von SQLite schwierig sein. Ein häufiges Missverständnis ist, dass der Befehl DELETE FROM tablename
ausreicht. Es werden jedoch nur die Daten gelöscht und die Auto-Inkrementierungsfunktion wird vom vorherigen Endpunkt aus fortgesetzt.
Um Ihren Primärschlüssel ordnungsgemäß zurückzusetzen, beachten Sie die folgenden Schritte:
<code class="language-sql">DELETE FROM your_table; DELETE FROM sqlite_sequence WHERE name='your_table';</code>
Automatischer SQLite-Inkrementierungsmechanismus
SQLite verwaltet eine spezielle Tabelle (sqlite_sequence
), um die maximale ROWID zu verfolgen, die jeder Tabelle zugewiesen ist. SQLite initialisiert diese Tabelle beim Erstellen der AUTOINCREMENT-Spalte. Das Ändern der sqlite_sequence
-Tabelle kann den Schlüsselgenerierungsalgorithmus beschädigen, daher ist Vorsicht geboten.
Darüber hinaus können die folgenden Ressourcen hilfreich sein:
Das obige ist der detaillierte Inhalt vonWie kann ich einen automatisch inkrementierenden Primärschlüssel in SQLite ordnungsgemäß zurücksetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!