在 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);
}
}
我在 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);
}
}