Android SQLite 列值相对增加

标签 android sqlite

使用 SQLite db.update 函数,我们可以修改一条记录,为满足 where 子句的记录提供绝对值。例如:

ContentValues cv = new ContentValues();
cv.put("id",111);
cv.put("Field1",10);
cv.put("Field2",100);

但是,如果不使用单独的选择查询来获取现有的 Field1 值或使用 db.execSQL(updateQuery),我该怎么说 Field1 = Field1 + 5? (我特意想避免db.execSQL进行更新操作)

我想避免单独查询,因为如果多个线程对同一条记录执行更新,可能会出现并发问题。

最佳答案

使用SQLiteDatabaseexecSQL()方法:

String increment = "UPDATE "
        + YOUR_TABLE + " SET "
        + YOUR_COLUMN + " = "
        + YOUR_COLUMN + " + 5";

db.execSQL(increment);

关于Android SQLite 列值相对增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39276961/

相关文章:

javascript - react native 后退按钮缺少图标

android - 如何将位图图像添加到android中的textview

iphone - 如何为 iphone 购物车应用程序改进这些 UML 图? (sqlite、parsxml 委托(delegate)、httprequest)

angularjs - AngularJS ionic从Sqlite删除选定的图像

java - 通过命令行和 JDBC 查询获取的结果之间的差异

java - [Android][RecyclerView] 方法不会覆盖或实现父类(super class)型的方法

android - 无法解析依赖android studio

android - 在运行时以编程方式更改复选框 colorAccent

objective-c - 为什么我从 SQLite 为我的 UILabel 得到一个无效的 NSString?

java - SQLite 卡在 SQLite.trampoline() 方法上