我想删除数据库中包含多个WHERE参数的记录。
我的数据库助手类有这个方法:
public void deleteManualRow(String where){
try {db.delete(TABLE_NAME_MANUAL, where, null);}
catch (Exception e)
{
Log.e("DB ERROR", e.toString());
e.printStackTrace();
}
}
通过调试器将传递给此方法的“where”字符串视为:
eventName='Manual Event 6' AND eventStartTime='2011-07-18T05:40:00.000-0400' AND eventEndTime='2011-07-18T06:40:00.000-0400'
如果我想删除带有多个WHERE参数的记录,我应该如何构造这个WHERE子句?所有数据类型都是字符串。
答案 0 :(得分:4)
喜欢这个db.delete(TABLE_NAME_MANUAL,"Column1='5' and column2 like '3'", null);
答案 1 :(得分:0)
你必须学习你的 sqlite api,接下来我从 Android flutter 示例中展示。
来自 sqlite_api.dart:
Future<int> delete(String table, {String where, List<dynamic> whereArgs});
所以你的结果代码将是:
await db.delete(tableName, where: 'place_id = ? and country_id = ?', whereArgs: [place_id, country_id]);