我尝试过两种不同的方法从数据库中删除多行。它们对我来说似乎是一致的,但行为是不同的:
#1按预期工作,删除具有指定ID的行
public void deleteCycles(ArrayList<Long> ids) {
String idsString = TextUtils.join(",", ids.toArray());
db.execSQL("delete from cycles where _id IN (" + idsString + ");");
}
#2删除一行(列出ids.size == 1)或不删除(大小!= 1)
public void deleteCycles(ArrayList<Long> ids) {
String idsString = TextUtils.join(",", ids.toArray());
db.delete(DatabaseHelper.TABLE_CYCLES, "_id IN (?)", new String[]{idsString});
}
有人可以解释一下,区别在哪里?提前谢谢。
答案 0 :(得分:-1)
for(int i = 0; i&lt;(Your array list).length; i ++){
db.delete(mytablename,"Paragraph ='"+(Your array list)[i]+"'",null);
}