SQLite de SQL INSERT o IGNORE no funciona
¿Por qué la instrucción IGNORE no funciona? Cada vez que ejecutar este el mismo valor fueron insertar en la base de datos y no sé por qué?
myDB = this.openOrCreateDatabase(MY_DB_NAME, MODE_PRIVATE, null); myDB.execSQL("INSERT OR IGNORE INTO " + MY_DB_TABLE + "(db_datum, db_zahlen, db_scheine)" +"VALUES ('"+datum+"',"+ "'"+zahlen+"',"+ "'"+9+"');");
Db schema es:
- Android.database.sqlite.SQLITeException: no hay tal tabla: admin mientras compila: INSERT INTO ... etc
- Cómo probar proveedores de contenido en Android
- Android / java Sqlite: ¿Cómo recuperar la fecha máxima?
- Pasar los datos a otro fragmento de vista de desplazamiento con la pestaña de estudio de Android, no botón
- Conjunto de conexiones SQLite
-
Db_datum (varchar (100))
-
Db_zahlen (varchar (100))
-
Db_scheine (entero)
Tengo el 2 String "datum" y "zahlen" y me gustaría insertarlos en la base de datos. Ahora el problema es, si las mismas cadenas ya están en el db y el código se ejecuta de nuevo que deben ser ignorados y nunca volver a insertar.
- Actualizar ListView después de eliminar la operación
- Base de datos sqlite - attach
- Creación de una clase de modelo de datos para el manejo de bases de datos
- Portable JDBC vs SQLite en Android
- SQLiteOpenHelper onCreate no crea base de datos - o se está sobrescribiendo inmediatamente
- ¿Cómo puedo anotar correctamente las clases de herencia usando ORMLite?
- Android + Robolectric - RuntimeException / InstantiationException en queryBuilder.query () en ContentProvider
- ¿Qué pasa con multithreading en Android SQLite?
Puede utilizar insertWithOnConflict. Ex:
mDb.insertWithOnConflict(DATABASE_TABLE, null, initialValues, SQLiteDatabase.CONFLICT_IGNORE);
No debes usar execSQL
para hacer un comando INSERT (consulta los documentos).
Utilice myDB.insertOrThrow(...)
lugar:
ContentValues cv = new ContentValues(); cv.put("db_datum", datum); cv.put("db_zahlen", zahlen); cv.put("db_scheine", 9); myDB.insertOrThrow(MY_DB_TABLE, null, cv);