Android SQLite相当于给定的更新查询

Cha*_*har 1 sqlite android

我必须在Android SQLite中执行以下查询

UPDATE player SET rank=rank+1 WHERE rank >= 3;
Run Code Online (Sandbox Code Playgroud)

这里rankINTEGER类型的列名.

我知道更新方法

update(tablename, values, whereClause, whereArgs);
Run Code Online (Sandbox Code Playgroud)

我将传递玩家作为第一个参数,rank> = 3作为第三个参数,null作为最后一个参数但是我无法找到作为第二个参数传递的内容.根据文档,它应该是ContentValues的一个对象.

所以我创建了它的对象

ContentValues values = new ContentValues();
values.put("rank",?????);
Run Code Online (Sandbox Code Playgroud)

我很担心什么把rank key 的值放在我的表中的一列.请建议我将值传递给put()方法的值

Ali*_*imi 5

或者你可以使用exec,并执行你的sql命令

db.execSQL("UPDATE player SET rank=rank+1 WHERE rank >= 3");
Run Code Online (Sandbox Code Playgroud)

要使用更新方法执行此操作,您需要使用Cursor获取变量中的当前排名,然后手动执行+ thing"current + 1"