在SQLiteOpenHelper onUpgrade

时间:2018-05-24 20:45:11

标签: android sqlite sqliteopenhelper

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

有没有办法改变数据库保留现有数据。

1 个答案:

答案 0 :(得分:1)

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

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

e.g。你可以有类似的东西: -

@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);
    }
}