-1
我有的情況:Android SQLite數據庫更新表時更新應用程序
在較新版本的應用程序中,我將添加另一列到SQLite表。我需要在應用程序更新時使此更改生效,並且不會從數據庫中丟失數據(通過重新創建新結構)。
可能在onUpgrade中啓動我的SQL更新腳本?如何正確地做到這一點?
我有的情況:Android SQLite數據庫更新表時更新應用程序
在較新版本的應用程序中,我將添加另一列到SQLite表。我需要在應用程序更新時使此更改生效,並且不會從數據庫中丟失數據(通過重新創建新結構)。
可能在onUpgrade中啓動我的SQL更新腳本?如何正確地做到這一點?
您必須升級您的數據庫版本onCreate()
,然後使用onUpgrade()
。就像這樣:
public YouSQLiteHandler(Context context) {
super(context, Constants.DATABASE_NAME, null, Constants.DATABASE_VERSION); --> 1 to 2 for example
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
addNewColumnTable();
}
當你改變你的數據庫版本,Android的自動調用onUpgrade()
和你的數據庫將與你把onUpgrade()
當用戶更新應用這裏
更多信息的所有變化進行更新:
http://www.michenux.net/android-database-sqlite-creation-upgrade-245.html
只需使用'Alter Table' sql命令並添加新列。這對您的數據沒有影響。在onUpgrade(.....)' –
我知道sql腳本,但我可以安全地在onUpgrade中執行它嗎?這是什麼標準解決方案? – Majkl
你期望什麼?這是唯一的標準方式。 –