如何避免将重复插入SQLite数据库?

Raj*_*ddy 3 sqlite android

我通过帐户登录时从服务器获取联系信息.我在SQLite中存储这些信息,当用户第二次登录时,我不想再将相同的重复联系人插入到SQLite中.

我试过这样但不起作用

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

DB类中的代码

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;
Run Code Online (Sandbox Code Playgroud)

将联系人插入数据库时​​如何避免重复?

Lal*_*ani 6

最好是UNIQUE使用UNIQUE关键字为该列创建索引.可以找到一个例子,也可以找到here一个更简单的例子here.

创建表后,您必须创建一个UNIQUE INDEXfor行,

CREATE UNIQUE INDEX idx_something ON Table_name 
                                          (column_name_1, column_name_2,....);
Run Code Online (Sandbox Code Playgroud)