sql >> Base de Datos >  >> RDS >> SQLite

Sala de Android:cómo borrar sqlite_sequence para todas las tablas

Parece que Room Database no admite la edición de la tabla sqlite_sequence, ya sea a través de un DAO o de una consulta sin formato. En cambio, así es como solucioné este problema (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()
}