如何将一列的数据类型更改为另一列?
我想在数据库升级时将一个列的数据类型从Number更改为现有表的Text。
答案 0 :(得分:1)
据我所知你无法改变它,因为在SQLite中存在一些限制,因此很容易使用alter table或类似的东西:
完成ALTER TABLE支持
仅支持ALTER TABLE命令的RENAME TABLE和ADD COLUMN变体。其他类型的ALTER TABLE操作(如DROP COLUMN,ALTER COLUMN,ADD CONSTRAINT等)将被省略。
但是,根据我之前需要重新创建表格的经验,我有一些建议:
删除要更改的表。
db.execSQL(" DROP TABLE IF EXISTS YourTableName");
使用新结构再次重新创建表格。
db.execSQL(" CREATE TABLE YourTableName");
使用循环再次插入旧信息。
观看请记住,您需要投射以前是 Number 的列,现在是 Text