Wie aktualisiert man die Tabelle sqlite_sequence in Ormlite? Ich brauche nur Update Seq. Wie kann ich diese Tabelle über ORMLite bekommen?
BEARBEITEN
Ich kann das ORLite-Tool dafür nicht finden, stattdessen benutze ich eine einfache SQLite-Abfrage. In meiner Klasse erweitert OrmLiteSqliteOpenHelper Ich benutze SQLiteDatabase, um dieses Update zu machen.
EDIT2;)
In meinem Projekt beharre ich Klassenlektion und Klasse WeekDefinition.
%Vor%Jetzt, wenn ich neue Lektionen hinzufüge, wird die ID erhöht. Zum Beispiel
%Vor%und in weekDefinition:
%Vor%SQLite fügt diese Zeile in sqlite_sequence ein (bei Verwendung von autoincrement)
%Vor%Jetzt lösche ich alle Zeilen aus den Tabellen Lesson und WeekDefinition. Lesson und WeekDef sind danach leer, aber sqlite_sequence ist immer noch gleich. Und das ist ein Problem, weil die ID in der Tabellenlektion mit dem Wert 4 beginnt (seq von sqlite_sequence für die Lektion und addiere 1):
%Vor%und weekDefinition
%Vor%und für Lektion ID = 4, Math ich sollte weekDefinitios, aber in weekDefinitions lektionen_id hat nur Wert von 1 bis 3 Und das ist mein Problem. Ich brauche "sqlite_sequence table" (oder gibt es eine bessere Lösung?)
In Ihrer .db-Datei befindet sich eine Tabelle namens sqlite_sequence
Jede Zeile hat zwei Spalten
name
ist der Name der Tabelle
seq
Eine Ganzzahl, die den letzten Wert an dieser Tabelle angibt
Sie können es auf 0
Aber Vorsicht, wenn Ihre Tabelle diese ID als eindeutigen Bezeichner verwendet.
Oh, ich verstehe es jetzt. Wenn Sie allgemeine Datenbankbefehle in ORMLite ausgeben möchten, können Sie die Methode updateRaw
verwenden. Siehe Javadocs . Es gibt auch executeRaw
für andere Befehle.
Sie können die Tabelle auch löschen und neu erstellen:
%Vor%Ich denke, die wirkliche Frage ist, warum hängt Ihre Anwendung von dieser internen Datenbanknummer ab? Es sollte sich wirklich nicht interessieren.
Math
würde immer noch bei ID # 1 sein.