RajaReddy PolamReddy RajaReddy PolamReddy - 5 months ago 17
Android Question

How to avoid inserting duplicate's into SQLite data base?

I am getting contact information from server when i login through account. i am storing those information in SQLite, when user login second time, I don't want to same duplicate contact inserting again into SQLite.

i tried like this but not working

boolean exist= contact_db.CheckItem(entry.getUser());
if(!exist) {
// insert
}else {
// don't insert

code in DB class

Cursor mCursor = database.query(ContactsDB.TABLE_CONTACTS, allColumns,
ContactsDB.CONTACT_USERID + "= ' " + name +"'" , null, null, null, null);
if (mCursor != null && mCursor.moveToFirst())
return false;
else return true;

How to avoid the duplicates while inserting the contacts into data base?


Better would be to create a UNIQUE index for that column using UNIQUE Keyword. An example can be found here and also a simpler one can be found here.

After creating table you have to create a UNIQUE INDEX for row as,

CREATE UNIQUE INDEX idx_something ON Table_name 
                                          (column_name_1, column_name_2,....);