SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Android-Raum – So löschen Sie sqlite_sequence für alle Tabellen

Es scheint, dass Room Database die Bearbeitung der sqlite_sequence-Tabelle nicht unterstützt, weder über ein DAO noch über eine Rohabfrage. Stattdessen habe ich dieses Problem folgendermaßen umgangen (Kotlin):

class NonRoomDb(context:Context) : SQLiteOpenHelper(context, DB_NAME, null, DB_VERSION) {
    override fun onCreate(db: SQLiteDatabase?) {}
    override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {}
}

fun resetPointer(context:Context, tableName:String) {
  val nonRoomDb = NonRoomDb(context)
  nonRoomDb.writableDatabase.execSQL("DELETE FROM sqlite_sequence WHERE name='$tableName';")
  nonRoomDb.close()
}