我正在创建一个使用从db = SQLiteDatabase.openOrCreateDatabase(...)
派生的数据库的简单应用程序。现在,当我创建它时,我使用db.setVersion(1);
我在某处读到每次更改时都必须更改数据库版本。现在我找不到我读到的特定教程,所以我留下了一些问题。
1)数据库版本化的原因是什么?什么是实际目的?
2)何时应该更新版本?每次插入后?是否每增加一张表?
3)如果我不在1
之后更新版本,我会遇到麻烦吗?它会导致什么?
答案 0 :(得分:0)
1)对数据库进行版本控制实际上是对模式进行版本控制。这使您可以知道架构何时更改,以便您可以转换它。
2)每当您更改架构时。
3)如果您更改架构,您将无法知道正在使用哪个架构,并最终会遇到异常。如果您从未更改架构,则不会发生任何事情。
你不应该手动调用setVersion。它已经知道现有版本的版本,如果是新数据库,则将其传递到其他地方。
答案 1 :(得分:0)
如果您使用 SQLiteOpenHelper 管理数据库创建和版本更新,则只需要 Android中的SQLite数据库版。
SQLiteOpenHelper
负责
databaseverionnumber在SQLiteDatabase构造函数中设置。
您的示例SQLiteDatabase.openOrCreateDatabase(...)
不使用SQLiteOpenHelper
所以在这种情况下不需要设置dbversion。