我在應用商店中發佈了一個應用程序。在Android應用程序的數據庫中更改列類型
該應用程序使用一個數據庫,其中包含一個表類型爲int的列。
我正在做一個新的更改,我需要將列類型更改爲long。
我該如何去處理它在我創建的DatabaseHandler中的處理。
我想保存存儲在舊應用程序數據庫中的數據,那麼最好是onUpgrade()函數中的代碼是什麼?
我在應用商店中發佈了一個應用程序。在Android應用程序的數據庫中更改列類型
該應用程序使用一個數據庫,其中包含一個表類型爲int的列。
我正在做一個新的更改,我需要將列類型更改爲long。
我該如何去處理它在我創建的DatabaseHandler中的處理。
我想保存存儲在舊應用程序數據庫中的數據,那麼最好是onUpgrade()函數中的代碼是什麼?
你不需要改變數據庫的列類型。 INTEGER
列將愉快地包含表示Java long
所需的所有位。其實there's no long
column type in sqlite。
我認爲使用SQLite,最好的方法是創建一個臨時表,複製所有表內容,刪除舊錶並在列上重新創建正確類型的表,然後您可以將臨時表並放下它...
我知道這不會像最好的辦法,但我不認爲SQLite有一些改變表功能。
據我所知你不能這樣做。但是,如果存在並且再次創建它,則可以放棄該表。也許你可以在這裏找到一些有用的信息SQLite Modify Column或這裏Modify a Column's Type in sqlite3
LONG不是SQLite數據類型,所以如果你使用它,那麼親和性實際上就是NUMERIC,我認爲這不是你的意圖。堅持INT。 – NigelK
表中有多少行? – Tugrul