Tengo una tabla de direcciones simple con la instrucción que sigue a crear:SqlLite Android EN CONFLICTO ignorar es ignorado en el ICS
"CREATE TABLE " + ADDRESSES_TABLE + " (" +
KEY_ADDRESS_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
KEY_ADDRESS_COUNTRY + " TEXT, " +
KEY_ADDRESS_CITY + " TEXT, " +
KEY_ADDRESS_STREET + " TEXT, " +
KEY_ADDRESS_HOUSE + " TEXT, " +
KEY_ADDRESS_POSTAL_CODE + " TEXT," +
"UNIQUE("+KEY_ADDRESS_COUNTRY+","+KEY_ADDRESS_CITY+","+KEY_ADDRESS_STREET+","+KEY_ADDRESS_HOUSE+","+KEY_ADDRESS_POSTAL_CODE +") ON CONFLICT IGNORE)"
Al agregar registros duplicados, el inserto() devuelve -1 metod y no el ID de la fila existente.
El problema es reproducible solo en 4.0+. El método funciona como se esperaba en 2.2 y 2.3.3.
¿Alguien ha enfrentado el mismo problema?
¿Estás usando 'insert' o' insertWithOnConflict'? – Barak
Intenté ambos, pero creo que insertWithOnConflict no tiene sentido si especifico ON CONFLICT IGNORE en TABLE CREATE. – Zzokk