Usar insertWithOnConflict para actualizar o insertar
Necesito insertar o actualizar y encontré el método insertWithOnConflict de SQLiteDatabase, pero no sé cómo se comprueba si la entrada ya existe.
Teóricamente necesito un argumento "Where" para verificar si existe un determinado ID, y si es así, debería reemplazar todas las demás columnas.
- Utilización de la base de datos legible y escrita de SQLite
- No se puede copiar la base de datos SQLite de los activos
- Mostrar el contenido de la base de datos sqlite en formato pdf en android
- Android SQLiteOpenHelper no puede abrir el archivo de base de datos
- Compruebe si el cursor tiene resultados
Esto es lo que tengo ahora, pero no creo que el segundo argumento sea el identificador único
ContentValues args = new ContentValues(); args.put(AppDatabase.COLUMN_ID, entry.getId()); args.put(AppDatabase.COLUMN_NAME, entry.getAppname()); args.put(AppDatabase.COLUMN_URL, entry.getAppUrl()); database.insertWithOnConflict(AppDatabase.TABLE_FILELIST, COLUMN_ID, args, SQLiteDatabase.CONFLICT_REPLACE);
¿Cómo puedo manejar este comportamiento?
- ¿Qué hace la clase SQLiteOpenHelper con el parámetro de contexto?
- Cómo utilizar la conexión SQLite desde la carpeta de activos
- La mejor manera de trabajar con las fechas en Android SQLite
- BroadcastReceiver para SMS de varias partes
- Android: ORDER BY en la consulta
- Necesito un ejemplo de sqlite con Monodroid
- ¿Cuántas tablas y bases de datos puedo crear en Android sqlite?
- ormlite para android: ayuda de diseño y más
-
Asegúrese de tener alguna restricción adecuada en su tabla, como
PRIMARY KEY
oUNIQUE
. -
Al insertar, agregue un valor a esta columna restringida a través de
ContentValues
. Si insertar la nueva fila violaría alguna restricción, las filas en conflicto se eliminarán primero y, a continuación, se insertará la nueva fila.
En su caso, COLUMN_ID
parece un buen candidato para la restricción PRIMARY KEY
. El segundo arg nullColumnHack
con valor COLUMN_ID
en su código no es necesario, puede pasarlo como null
.
- Establecer pull para actualizar como refrescante al iniciar o reanudar fragmento
- Quiero google play store como scrollview