SQLite重复行

时间:2013-03-06 20:30:30

标签: android database multithreading sqlite

我有一张桌子

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。我需要更新行。

1 个答案:

答案 0 :(得分:1)

您应该声明title text uniquedb.insertWithOnConflict(DBConst.TABLE, null, cv, SQLiteDatabase.CONFLICT_IGNORE);