无法使用rawQuery正确执行删除查询

时间:2013-05-18 12:48:10

标签: android sqlite android-sqlite

我想删除表info的某些行,比较另一个表type, 我的代码如下。我没有收到任何错误或异常仍然无法删除数据。请建议我

 String query = "delete from info where _id in " + 
                   "( select  a._id " +
                    " from info  a, type b," +
                    " where  a.t_id = b._id and b.type_name = 'Petrol'  )";

try{
     database.rawQuery(query,null);
}catch (Exception e){
    e.printStackTrace();
}

2 个答案:

答案 0 :(得分:11)

方法SQLiteDatabase.rawQuery()适用于查询 - > SELECT语句。

要使用原始SQL 修改您的数据,您需要使用SQLiteDatabase.execSQL()

答案 1 :(得分:1)

database.rawQuery(query,null).moveToFirst();

而不是

database.rawQuery(query,null);