2014-02-10 56 views
0

Android開發人員必須爲Android應用程序使用SQL lite,這很容易,但問題出現在我們必須升級數據庫版本時,我們必須刪除舊數據庫並在升級時創建新數據庫,所以如果我們想要添加一列,我們必須刪除所有用戶數據,是否有任何管理數據庫升級的組件或源代碼,因此如果它只需要一列,只需添加一列,而不是刪除所有表。託管SQLLite升級

+1

爲了更好的解釋,你還應該問一下原因,'爲什麼我們必須刪除整個數據庫,改變單個表?' – DroidDev

+0

也許是因爲他遵循[Android Developer官方指南](http://developer.android.com/training/basics/data-storage/databases.html) –

回答

2

這是完全錯誤的

當我們要升級的數據庫版本,我們必須刪除舊的數據庫和升級

在你onUpgrade方法來創建新的數據庫,它看起來會是像這樣:

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
String upgradeQuery = "ALTER TABLE yourtable ADD COLUMN yourcolumn TEXT"; 
if (oldVersion == 1 && newVersion == 2) 
    db.execSQL(upgradeQuery); 
}