Drop y recrear la tabla SQLite

¿Cómo puedo eliminar y volver a crear una tabla con información actualizada?

Por ejemplo; Tengo una tabla en mi aplicación con 5 registros.

ID Entry 1 a 2 b 3 c 4 d 5 e 

Ahora, cuando elimino un registro, digamos, ID 3, la tabla se convierte en

  ID Entry 1 a 2 b 4 d 5 e 

¿Cómo puedo dejarlo, y lo recreo para que se convierta en esto:

  ID Entry 1 a 2 b 3 d 4 e 

En realidad, la eliminación es controlada por el usuario para que cualquier registro pueda ser eliminado en cualquier momento.

Podría hacer lo siguiente: eliminar la fila que desea eliminar:

  public boolean deleteRow(int id) { return db.delete(YOUR_TABLE, ROW_ID + "=" + _id, null) > 0; } 

Leer las entradas restantes (sólo las entradas, no el id) en un ArrayList, la caída de su tabla:

  db.execSQL("DROP TABLE IF EXISTS " + YOUR_TABLE); 

Y recrea tu mesa. Entonces los Números de ID serán de nuevo de 1-XX en Orden

Sé que esto es un poste viejo pero pensé que aclararía cosas para otros que pueden hacer lo mismo que usted basado en su comentario:

Cuando se elimina un registro, el proceso de eliminación se realiza por la fila actualmente seleccionada, ya que sólo puedo seleccionar hasta la fila 4, ID 5 nunca se puede eliminar.

Usted realmente no debe recrear sus ids. Se ensucia las cosas si se utilizan como claves en otra tabla, más si usted tiene una gran base de datos, la recreación de ellos sólo puede perder el tiempo cuando no es realmente necesario.

Lo que debe hacer es guardar una matriz de los identificadores junto con una matriz de las entradas para que sepa qué identificador eliminar en función de la fila que seleccionó (o alguna otra forma de vincular los identificadores y los valores para poder capturarlos posteriormente).

En el ejemplo anterior, después de que alguien elimine la fila con id 3, las matrices se verían así:

 entries = { "a","b","d","e" } ids = { 1,2,4,5 } 

Si alguien selecciona "e", que es el cuarto elemento, simplemente elimina de la tabla donde el id es igual al cuarto valor de la matriz de ids, 5 en este caso.

De esta manera, si los elementos se agregan y eliminan constantemente, la base de datos podría terminar con ids 2, 34, 56 y 435. No importa porque su código se mantendrá informado y sabrá qué identificador eliminar.

  • Tratar con WHERE IN (?) En la consulta de SQLite de SQL
  • SQLite e insertar la fecha actual en formato UTC
  • Recuperar un nombre de usuario y una contraseña en SQLITE DB por EMAIL_ADDRESS en ANDROID
  • ¿Cómo agregar datos iniciales a la base de datos SQLite?
  • Android json analizar y almacenar en la base de datos
  • Orden de índices de columna SQLite crea tabla
  • Abra cualquier SQLiteDatabase como su / root
  • Sincronizar SQLite con un servidor de bases de datos SQL externo
  • Android Guardar objeto como blob en sqlite
  • Cómo almacenar la base de datos SQLite de Android en sdcard
  • Los datos no se insertan en la base de datos Sqlite en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.