SQLite verfolgt die größte ROWID, die eine Tabelle jemals mit einer internen Tabelle namens "sqlite_sequence" gehalten hat. Die Tabelle sqlite_sequence wird automatisch erstellt und initialisiert, wenn eine normale Tabelle erstellt wird, die eine AUTOINCREMENT-Spalte enthält **. Der Inhalt der Tabelle sqlite_sequence kann mit den normalen Anweisungen UPDATE, INSERT und DELETE ** geändert werden. Aber Modifikationen an dieser Tabelle werden wahrscheinlich den AUTOINCREMENT-Schlüsselgenerierungsalgorithmus stören. Stellen Sie sicher, dass Sie wissen, was Sie tun, bevor Sie solche Änderungen vornehmen.
Also, wenn Sie Ihre Tabelle löschen und Sie neu erstellen, sollten Sie die SQLITE_SEQUENCE Neustart machen von 0.
Sie sollten etwas tun:
Delete from date_difference;
Delete from sqlite_sequence where name='date_difference';
Pflege, weil das Feld 'table name'
in Where-Klausel ist Groß-/Kleinschreibung.
Lesen Sie this für weitere Informationen.