Android: SQLite - insertWithOnConflict

Je fais appel insertWithOnConflict, à l'aide de SQLiteDatabase.CONFLICT_IGNORE. Toutefois, lorsqu'un conflit se produit "-1" est renvoyée au lieu de l'id de la ligne existante. Comment puis-je corriger cela?

La création de la Table:

EDIT :

String CREATE_CATEGORY_TABLE = "CREATE TABLE "+TABLE_CATEGORY+"(" +
    BaseColumns._ID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+
    KEY_CATEGORY_NAME+" TEXT UNIQUE" +
    ")";
db.execSQL(CREATE_CATEGORY_TABLE);

Instruction Insert:

ContentValues values = new ContentValues();
values.put(KEY_CATEGORY_NAME, name);
int catID = (int) db.insertWithOnConflict(TABLE_CATEGORY, null, values, SQLiteDatabase.CONFLICT_IGNORE);
Une valeur de retour -1 signifie qu'une erreur s'est produite. Est-il aussi renvoie -1 si vous insérez un unique (non contradictoires) ligne?
Borland : Non. Non contradictoires insérez sera de retour le bon id de ligne.

OriginalL'auteur meeeee | 2012-09-11