防止重复sqllite数据库android中的条目

时间:2016-04-04 05:13:29

标签: php android database sqlite

我创建了两个表:

  1. Item.db
  2. TempItem.db
  3. 当我在Item.db表中添加第三个条目并将此条目复制到TempItem.db时,这两个表都有两个条目,这次在我的TempItem表中添加了重复条目。

    如何防止这种情况?

    我的源代码

    // Item.db table array
    for(int ip=0; ip<results.size(); ip++)
    {
    // TempItem.db table array
        for(int ig=0; ig<resultmain.size(); ig++)
        {
            // Check Both database item
            if((results.get(ip).item).equals(resultmain.get(ig).item))
            {
                Toast.makeText(getApplicationContext(), "no", 100).show();
            }
            else
            {
                mb.insertEntry(1, 1, 1, 1, "Baby", "1", "100", "100");
            }                        
        }
    }
    

    但每次都会添加重复值。

2 个答案:

答案 0 :(得分:1)

您可以使用insertWithOnConflict

db.insertWithOnConflict(tableName, null, contentValues,SQLiteDatabase.CONFLICT_REPLACE);

答案 1 :(得分:1)

实现此目的的一种方法是将表的id声明为主键或使用唯一约束对其进行属性。现在,当您尝试输入重复记录时,sqlite会抛出异常唯一约束。