在我的Android应用程序的数据库中更改列类型

时间:2014-01-15 14:04:17

标签: android sqlite upgrade

我在Play商店发布了一个应用程序。

该应用程序使用一个数据库,该数据库包含一个具有int类型列的表。

我正在做一个新的更改,我需要将列类型更改为long。

如何在我创建的DatabaseHandler中处理它。

我想保留存储在较旧的应用数据库中的数据,那么理想情况下应该是onUpgrade()函数中的代码???

3 个答案:

答案 0 :(得分:3)

您无需更改数据库列类型。 INTEGER列将很乐意包含表示Java long所需的所有位。

事实上,there's no long column type in sqlite

答案 1 :(得分:1)

我认为使用SQLite,最好的方法是创建一个临时表,复制所有表内容,删除旧表并在列上重新创建具有正确类型的表,然后您可以只复制临时表中的内容表并放下它......

我知道这不是最好的方法,但我不认为SQLite有一些alter table功能。

答案 2 :(得分:0)

据我所知,你不能这样做。但是你可以放下你的桌子,如果它存在并再次创建它。也许您可以在SQLite Modify ColumnModify a Column's Type in sqlite3

找到一些有用的信息