我有一张桌子
CREATE TABLE rss (_id INTEGER PRIMARY KEY AUTOINCREMENT, title text, body text, img_url text);
我用以下代码编写项目:
public void writeRssModel(ArrayList<RssModel> items){
SQLiteDatabase db = getWritableDatabase();
for (RssModel model : items){
try {
ContentValues cv = new ContentValues();
cv.put(DBConst.BODY, model.getBody());
cv.put(DBConst.IMG_URL, model.getImgUrl());
cv.put(DBConst.TITLE, model.getTitle());
db.insert(DBConst.TABLE, null, cv);
}catch (Exception e){
e.printStackTrace();
}
}
}
当我重用此代码时,行重复;我无法删除项目,因为它在后台线程和UI线程中工作,此表上有一个实时Cursor。我需要更新行。
答案 0 :(得分:1)
您应该声明title text unique
和db.insertWithOnConflict(DBConst.TABLE, null, cv, SQLiteDatabase.CONFLICT_IGNORE);