如何在 Android 中更新 SQLite 数据库中一列的所有行?

How to update all rows of a column in SQLite database in Android?

我是 SQLite 的新手 database.This 不是任何其他问题的重复。我将行动态插入到 table 中,其中包含标题、标签、日期、位置等列。我在列表视图中向用户显示从今天开始的剩余天数。现在我的问题是,我需要每天更新 sqlite table 中的剩余天数列,以便它根据当天减少。如何一次更新剩余天数列的所有行?以及如何 decrease/update 它基于时间?这是我试过的。

    public static final String KEY_REMAINING_DAYS = "remainingdays";
    public static final int COL_REMAINING_DAYS = 10;
    private static final String DATABASE_CREATE_MY_SQL =
                "create table " + MY_TABLE
                        + " (" + KEY_ROW_ID + " integer primary key autoincrement, "
                        + KEY_TAG + " text not null, "
                        + KEY_TITLE + " text not null, "
                        + KEY_DATE + " text not null, "
                        + KEY_LOCATION + " text not null, "
                        + KEY_REMAINING_DAYS + " text not null, "
                        + ");";


public void update_days() {
        String where = "UPDATE "+ MY_TABLE +" SET " + COL_REMAINING_DAYS + " = " + COL_REMAINING_DAYS-1);
        db.rawQuery(where, null);
    }

-1应该是SQL,如:

public void update_days() {
        String where = "UPDATE "+ MY_TABLE +" SET " + KEY_REMAINING_DAYS + " = " + KEY_REMAINING_DAYS  + "-1" );
        db.rawQuery(where, null);
    }

因此查询结果为:

UPDATE <MY_TABLE>
   SET <KEY_REMAINING_DAYS> = <KEY_REMAINING_DAYS> -1;

就 "updating it based on time," 而言,您可以在每日闹钟中执行此操作,或者在您进入应用程序时查看上次完成的时间。在此站点上查找有关 AlarmManager 的类似问题。