我创建了两个表:
当我在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");
}
}
}
但每次都会添加重复值。
答案 0 :(得分:1)
您可以使用insertWithOnConflict
db.insertWithOnConflict(tableName, null, contentValues,SQLiteDatabase.CONFLICT_REPLACE);
答案 1 :(得分:1)
实现此目的的一种方法是将表的id声明为主键或使用唯一约束对其进行属性。现在,当您尝试输入重复记录时,sqlite会抛出异常唯一约束。