0
有沒有辦法讓最後的更新行ID,因爲我們可以從插入操作?獲取最近更新的行ID
int row_id = -1
// fx_watchlist_id is having constraint unique (fx_watchlist_id) on conflict.
// So, we are pretty sure maximum updated row will be 1
int count = database.update(TABLE_TIMESTAMP, values, "fx_watchlist_id = ?", new String[]{Long.toString(fxWatchlistId)});
if (count <= 0) {
row_id = database.insert(TABLE_TIMESTAMP, null, values);
} else {
// Is there a way to retrieve last updated row id, without perform select?
row_id = ...
}
return row_id;
這裏的關鍵,如果使用這種方法,是-即將被更新的行*前查詢*因爲'update'操作可能會很好地改變'where'約束中字段的值,所以執行實際更新'更新myTable SET col1 = 2 WHERE col1 = 1'。在更新之後,查詢原始的where子句('col1 = 1')*在這種情況下將返回一個空遊標。 – dbm