即使重新安装并重新运行,也无法将数据库从版本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 106-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