Android Sqlite - 使用CONFLICT_REPLACE更新/插入或插入?

Android Sqlite - 使用CONFLICT_REPLACE更新/插入或插入?

问题描述:

我对Android的使用SqliteDatabase和我总是用Android Sqlite - 使用CONFLICT_REPLACE更新/插入或插入?

if (mDB.update(CITIES_TABLE, values, _ID + " = " + id + " AND " + _KEY + " = '" + key + "'", null) == 0) { 
       mDB.insert(CITIES_TABLE, null, values); 
      } 

// _ KEY和_ID是复合主键...

,但现在我发现有一个insertWithOnConflict和CONFLICT_REPLACE为ConflictAlgorithm,应该这样做...

但现在的问题是:哪一个使用?哪一个更好? insertWithOnConflict似乎(在代码中)更清楚我...

我知道CONFLICT_REPLACE会改变RowId的,这我没有使用任何...

如果你是好与rowid被改变时,替换发生,那么我认为insertWithOnConflict()将使您的代码更具可读性,并且可能更具性能(因为它只需准备一条语句)。