Change SQLite Database Version Number

2019-01-22 11:14发布

问题:

I have a database that I built in SQLite browser, and it works fine. I launched an app with a prebuilt database and now I want to add more tables and data to that database.

I can get the app to launch the onUpgrade method of the SQLiteOpenHelper. But the problem is, it's doing that EVERY time I use the helper.

I have it localized to, only on app launch, seperating the upgrade command from the helper I used to retrieve data, but this is still a problem.

I have figured it out though, as I have been using the same database on my computer (the one that I'm editing) since version 1. So, whenever it writes the newer database onto the SD card it's showing version 1 even though I should be up to version 4 by now.

So, my question is, how can I manually edit the database version of the original database so that when it updates it isnt writing the old version number over the new one?

回答1:

To manually update the version to 4 you execute the following SQL statement:

PRAGMA user_version = 4


回答2:

You can also set it via the setVersion SqlLiteDatabase method.

Source: http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#setVersion(int)



回答3:

Another way to change the version of your Sqlite Database. You can use DB Browser for SQLite:

  1. Open the database file with "DB Browser for SQLite".
  2. Change the "User Version" number to whatever number you want
  3. Click the "Save" button