即使重新安装并重新运行,也无法将数据库从版本2降级到版本1

我正在使用SQLite DB编写Android应用程序。

我进行了几次实验,并将数据库版本从1更改为2。

然后我的数据库架构变得稳定,并且因为我没有发布该应用程序,而是供我自己使用

我决定再次将版本更改为1。

我做了全新安装,并且一切正常。

但是,第二次运行会引发此错误:

06-05 10:03:35.683: E/AndroidRuntime(9010): android.database.sqlite.SQLiteException: Can't downgrade database from version 2 to 1

06-05 10:03:35.683: E/AndroidRuntime(9010): at android.database.sqlite.SQLiteOpenHelper.onDowngrade(SQLiteOpenHelper.java:361)

为什么会这样,毕竟我做了全新安装,所以数据库也应该被删除。没有?

如何再次将版本更改为1?

回答:

在以下情况下引发此异常:

  • 运行代码的设备具有版本2的数据库文件。
  • 该代码正在请求数据库的版本1(带有SQLiteOpenHelper构造函数的参数)
  • onDowngrade() 不会在您的代码中被覆盖。

您说全新安装后的第一次代码运行良好。确保没有其他代码可以将同一数据库文件的版本号再次提高到2。

以上是 即使重新安装并重新运行,也无法将数据库从版本2降级到版本1 的全部内容, 来源链接: utcz.com/qa/403181.html

回到顶部