我有情况:
在较新版本的应用程序中,我将向 SQLite 表添加另一列。我需要使此更改在应用程序更新时生效并且不会丢失数据库中的数据(通过使用新结构重新创建)。
可能会在 onUpgrade 启动我的 SQL Update 脚本?如何正确操作?
最佳答案
您必须在 onCreate()
中升级您的数据库版本,然后使用 onUpgrade()
。像这样:
public YouSQLiteHandler(Context context) {
super(context, Constants.DATABASE_NAME, null, Constants.DATABASE_VERSION); --> 1 to 2 for example
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
addNewColumnTable();
}
当您更改数据库版本时,Android 会自动调用 onUpgrade()
并且您的数据库将使用您在 onUpgrade()
中所做的所有更改进行更新更新应用
关于更新应用程序时Android SQLite数据库更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38715602/