使用 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进行更新操作)
我想避免单独查询,因为如果多个线程对同一条记录执行更新,可能会出现并发问题。
最佳答案
使用SQLiteDatabase
的execSQL()
方法:
String increment = "UPDATE "
+ YOUR_TABLE + " SET "
+ YOUR_COLUMN + " = "
+ YOUR_COLUMN + " + 5";
db.execSQL(increment);
关于Android SQLite 列值相对增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39276961/