我一直在寻找这个网站一段时间,但还没有找到答案。我正在尝试对我已知的数据进行批量更新。当某个条件返回行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
需要更多解析。我不认为这应该是一个正常的数据库方法。 –