我一直在尋找這個網站一段時間,但還沒有找到答案。我正在嘗試對我已知的數據進行批量更新。當某個條件返回行ID時,我需要設置一列。這是單一的方法,但我想使它更高效,並將其作爲批量使用。我們的數據庫不在提供程序中,所以我只使用助手類。批量更新數據庫
public void markUnavailable(int myId) {
SQLiteDatabase db = this.getWritableDatabase();
String sql = "UPDATE " + MYTABLE + " SET " + Col.IS_AVAILABLE + "= 0"+ " WHERE " + Col.MY_ID + "=" + myId;
db.execSQL(sql);
db.close();
}
我想傳遞一個myIds數組來做批量更新。我無法執行插入或替換語句,因爲我無法訪問所有列數據,也不想因爲代碼更改太多而不能傳遞。
public void markUnavailable(int[] myId) {
// ????
/// need some way to loop through and update in bulk
}
這將需要將數組解析爲字符串,並且任意長度的數組可能會阻止SQL語句進行編譯。 –
@LS_dev:然後爲每個例如100個條目做一個「UPDATE」。 – CommonsWare
需要更多解析。我不認爲這應該是一個正常的數據庫方法。 –