更新应用程序时Android SQLite数据库更新表

标签 android sqlite upgrade updates

我有情况:

在较新版本的应用程序中,我将向 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/

相关文章:

java - 将sqlite数据库复制到Data文件夹

SQLite 错误 : file is not a database

java - Storm升级到1.2.3时storm列表出错

mysql - 将 Sonarqube 6.5 升级到 7.1,并从旧服务器和数据库迁移

android - 获取 Facebook 个人资料图片时 Bitmap 为 null

android - Gradle执行curl不上传文件

java - 将日期选择器转换为字符串

flutter 升级导致未为类 'fullObstruction' 定义 setter/getter 'ObstructingPreferredSizeWidget' 。错误

Android:在启动的 Activity 上设置窗口背景

java - 将 findViewById 从 Java 转换为 Kotlin