Heim >Datenbank >MySQL-Tutorial >Wie setze ich einen automatisch inkrementierten Primärschlüssel in SQLite zurück?

Wie setze ich einen automatisch inkrementierten Primärschlüssel in SQLite zurück?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-15 14:27:44846Durchsuche

How to Reset an Auto-Incremented Primary Key in SQLite?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn