SQLite:更新:将1添加到上一个值

时间:2015-10-25 11:53:37

标签: android sqlite

我正在Android上构建应用。我想要做的是在数据库中的先前值中加1。

数据库中列得分的值为200。

SQLiteDatabase db = database.getWritableDatabase();
int resultRows = 0;
values = new ContentValues(1);
values.put(DBContract.Countries.SCORE, DBContract.Countries.SCORE + " + 1");
resultRows = db.update(DBContract.Countries.TABLE_NAME, values, DBContract.Countries.ISO + " = ?", selectionArgs);

实际输出为SCORE + 1而不是201.所以它将其作为String而不是添加它。有没有人有任何想法?

1 个答案:

答案 0 :(得分:2)

您可以使用ContentValues仅提供文字值。

对于SQL表达式,请使用带有execSQL()的原始SQL:

db.execSQL("UPDATE " + DBContract.Countries.TABLE_NAME + " SET " +
    DBContract.Countries.SCORE + "=" + DBContract.Countries.SCORE + " + 1 " +
    "WHERE " + DBContract.Countries.ISO + " = ?", selectionArgs);