我要删除满足任意多个条件的行.
例如,我传递了一个ID列表,我想删除所有包含这IDs
个ID的行(ID是唯一的).
这将是:
String[] ids = {"0", "1", "2", "3",...};
database.delete("rows" , "id=? OR id=? OR id=? OR id=? OR ..." , ids );
有没有办法做到不需要OR
倍的紧凑型?
我要删除满足任意多个条件的行.
例如,我传递了一个ID列表,我想删除所有包含这IDs
个ID的行(ID是唯一的).
这将是:
String[] ids = {"0", "1", "2", "3",...};
database.delete("rows" , "id=? OR id=? OR id=? OR id=? OR ..." , ids );
有没有办法做到不需要OR
倍的紧凑型?
您可以通过db.execSQL
方法和SQL的IN关键字来实现.例如:
String args = TextUtils.join(", ", ids);
db.execSQL(String.format("DELETE FROM rows WHERE ids IN (%s);", args));