如何更新 SQLiteDatabase 中的单个(或多个,但不是全部)列?

How can I update a single (or multiple, but not all) columns in an SQLiteDatabase?

我的项目使用 SQLitDatabase,我通常通过以下方式更新:

示例:

我要更新v2

ContentValues values = new ContentValues();
    values.put(v1_COLUMN, v1);        // Old value, gotten earlier
    values.put(v2_COLUMN, v2_new);    // New value, calculated earlier
    values.put(v3_COLUMN, v3);        // Old value, gotten earlier
db.update(TABLE_name, values, "_id=?", new String[]{id});  

我使用这种方法,即使我只需要更新 1 列(请记住我的一些表有超过 3 列)。

如何只更新实际需要更新的列?

您的代码没问题,但不需要将旧值放入值中。只需输入新值

ContentValues values = new ContentValues();
values.put(v2_COLUMN, v2_new);    // New value, calculated
db.update(TABLE_name, values, "_id=?", new String[]{id});