将数据插入sqlite数据库后如何更新应用数据库

问题描述 投票:-1回答:1

通过数据库浏览器将新数据插入sqlite数据库后,我想在应用程序上升级复制的数据库。我怎样才能做到这一点?我更改了版本号,但是没有用。数据库仍然看起来是空的。

这是我的onUpgrade方法:

@Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS Words");
        db.execSQL("DROP TABLE IF EXISTS MyList");
        onCreate(db);

    }
java android database sqlite
1个回答
1
投票

您以DROP删除Word和MyList表中的所有数据会删除该表。这些表可能是在onCreate中再次创建的,其中将什么也没有。

如果要保留数据并更改架构,则需要在onUpgrade中更改表,这可能需要:-

  1. 然后使用新的架构创建一个新的临时表,然后
  2. 然后从原始表中复制数据
  3. 然后重命名原始表
  4. 使用原始名称重命名临时表。

onUpgrade

[如果您有替换数据库,然后复制到资产文件夹,并使用将数据库从资产复制到最终位置的过程,可以在onUpgrade中启动。

© www.soinside.com 2019 - 2024. All rights reserved.