替换SQLITE中的函数

时间:2016-01-22 14:34:41

标签: android sqlite

我试图从下面的代码行复制这个SQLite语句:

Cursor cursor = db.rawQuery("update tbl_details SET ticket = replace(ticket, " + tempID + ", " + ticket + ")", null);

到这一个:

SQLiteDatabase db = this.getWritableDatabase();
        ContentValues cv = new ContentValues();
        cv.put("ticket", "replace(ticket, " + tempID + ", " + ticket + ")");
        db.update("tbl_details", cv, null, null);
        return true;

我要做的是获取一个新ID并替换数据库中旧临时ID的所有实例。但上面的代码正在更改故障单列中的所有记录。

请帮忙。谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用ContentValues仅绑定文字值,而不是replace(...)之类的表达式。

要运行原始UPDATE SQL,只需使用execSQL()代替rawQuery()。 <{1}}实际上不会在返回rawQuery()之前运行代码。