【发布时间】:2018-11-04 04:28:43
【问题描述】:
我在 Playstore 中发布了一个 android 应用程序。 我需要在现有表中添加一些列。 当我删除并重新创建表时,所有数据都将丢失。
有什么办法可以改变保留现有数据的数据库。
【问题讨论】:
标签: android sqlite sqliteopenhelper
我在 Playstore 中发布了一个 android 应用程序。 我需要在现有表中添加一些列。 当我删除并重新创建表时,所有数据都将丢失。
有什么办法可以改变保留现有数据的数据库。
【问题讨论】:
标签: android sqlite sqliteopenhelper
要添加列,您可以使用 ALTER TABLE your_table ADD COLUMN column_definition 而不删除表。
请阅读SQL As Understood By SQLite - ALTER TABLE,因为有限制。该链接还讨论了其他类型的架构更改。
例如你可以有类似的东西:-
@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);
}
}
【讨论】: