關於Android中SQLite的更新。當您更改數據庫的結構時,如何在不刪除數據的情況下更新數據庫?關於Android中SQLite的更新
回答
您應該覆蓋SQLiteOpenHelper中的onUpgrade方法。你應該編寫這樣的代碼。
public void onUpgrade (SQLiteDatabase db,int oldVersion,int newVersion){
String update = ALTER TABLE <table_name> ADD COLUMN <column_name> <column_type>;
db.execSQL(update);
}
應該在這裏完成刪除表,添加行,插入/更新/刪除數據。
Alter表爲執行數據庫表更新提供了非常有限的選項。如果您想將數據複製到全新的結構中,則應該考慮在此升級方法中創建臨時表,您可以在其中複製數據,創建新模式,然後將數據從臨時表複製到新表中。
確保您在創建DBHelper時正確更新了您的數據庫版本號。
Thanks.With你的幫助,我已經解決了這個問題通過重寫onCreate方法和onUpgrade方法來解決問題。 –
不要忘記數據庫版本integer需要增加,以便onUpgrade()檢測更改。 –
差點忘了,謝謝 –
- 1. 的Android SQLite的 「關於級聯更新」 工作不
- 2. 更新android中的sqlite
- 3. 更新Android中的行SQlite
- 4. 更新SQLite Android
- 5. Android Sqlite不更新
- 6. Android更新sqlite表
- 7. 關於在SQLite中的數組android
- 8. Android的SQLite更新行
- 9. Android Sqlite之間的更新
- 10. Android和SQLite的更新
- 11. 更新SQLite中不工作在Android的
- 12. Android中的SQLite更新問題
- 13. 在Android和ContentValue的Sqlite中更新值
- 14. 如何更新Sqlite中的空列(Android)
- 15. Android SQLite更新方法不會更新
- 16. 更新查詢不適用於android中的sqlite
- 17. Android在基於複選框的sqlite中更新值
- 18. Android SQLite更新觸發器
- 19. Android SQLite數據庫更新
- 20. Android SQLite插入或更新
- 21. Android SQlite更新查詢
- 22. SQLite更新查詢Android
- 23. Android SQLite更新空字段
- 24. Android:更新SQLite數據庫
- 25. Android - SQLite更新聲明
- 26. Android SQLite行不更新
- 27. android sqlite更新錯誤
- 28. 更新SQLite數據庫android
- 29. 在sqlite更新行android
- 30. Android |從MySQL更新sqlite或更新應用與更新的SQLite數據庫?
http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#onUpgrade(android.database.sqlite.SQLiteDatabase,int,int) –