在 SQLiteOpenHelper onUpgrade 上管理 sqlite 表

Manage sqlite tables on SQLiteOpenHelper onUpgrade

我在 Playstore 中发布了一个 android 应用程序。 我需要向现有 table 添加一些列。 当我删除并重新创建 table 时,所有数据都将丢失。

有什么方法可以更改数据库以保留现有数据。

要添加列,您可以使用 ALTER TABLE your_table ADD COLUMN column_definition 而无需删除表格。

请阅读 SQL As Understood By SQLite - ALTER TABLE,因为有限制。 link 还讨论了其他类型的架构更改。

例如你可以有类似的东西:-

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    if (oldVersion = 1 && newVersion > 1) {
        String alterSQL = "ALTER TABLE " + TABLE_NAME + " ADD COLUMN " + NEWCOLUMN + " INTEGER DEFAULT 100";
        db.execSQL(alterSQL);
    }
}