RajaReddy PolamReddy
RajaReddy PolamReddy

Reputation: 22493

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?

Upvotes: 3

Views: 7114

Answers (2)

Lalit Poptani
Lalit Poptani

Reputation: 67286

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,....);

Upvotes: 6

G_S
G_S

Reputation: 7110

Check the database for the information. If the data is present in the database don't do anything if not insert the information into the database

Upvotes: 2

Related Questions