我有一個數據庫,用戶可以在其中更改每個元組中的幾個值。我也希望能夠添加新行並更新一些現有行的內容。我現在使用的代碼不夠好,因爲它的的onUpdate()如何更新保存用戶數據的數據庫
private static class DatabaseHelper extends SQLiteOpenHelper {
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w("dB update", "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " + MetaData.TABLE);
onCreate(db);
}
}
創建一個新的數據庫有沒有我的問題的解決方案?或者至少可以避免升級列,保留該列中的用戶值?在此先感謝
ALTER TABLE是非常有用的添加列,但如果我想添加什麼行和修改某些單元格的值(再次,不刪除用戶數據)? – Mangusto 2013-03-24 21:34:01
如果您想要重命名或刪除列名,那麼您將不得不暫時查看錶,將其所有數據存儲到給定類型的Array對象中,刪除當前表並添加一個新列名。在適當的實施中,你不應該經常需要它。 如果您需要添加新行,只需使用正確的方法從類SQLiteDatabase插入和更新該目標。 – 2013-03-24 22:40:32
感謝您的建議,我可能會使用您的建議或與多個表一起工作。 – Mangusto 2013-03-25 19:16:13