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()
将使您的代码更具可读性,并且可能更具性能(因为它只需准备一条语句)。