加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite – 更改表的列类型?

发布时间:2020-12-12 19:15:47 所属栏目:百科 来源:网络整理
导读:我正在开始涉及一个小数据库的项目,我正在考虑使用SQLite。 如果我创建一个表,并将其中一列定义为文本,但所有存储的值都是整数 – 有没有办法更改列的数据类型?我正在使用SQLite Manager,我找不到一个允许我这样做的功能。我可以使用SQL命令来执行,还
我正在开始涉及一个小数据库的项目,我正在考虑使用SQLite。
如果我创建一个表,并将其中一列定义为文本,但所有存储的值都是整数 – 有没有办法更改列的数据类型?我正在使用SQLite Manager,我找不到一个允许我这样做的功能。我可以使用SQL命令来执行,还是SQLite的限制?
可能,即使有这种限制,可以找到一些方法,并创建一个带有所需列类型的新表,然后将数据导入到其中。

问候,
缺口

SQLite不完全支持ALTER TABLE语句。您唯一可以做的是重命名表和/或添加列。如果要重命名列,最佳选项是使用新列数据类型/名称创建新表,并删除旧表以重新命名新表。

让我们说,你有一个表,需要将“field-1”重命名为“field-2”:
第一==>>>重命名旧表:

ALTER TABLE original RENAME TO tmp;

现在,根据旧表创建新表,但更新列名称:
==>>创建一个带有更新列的表

CREATE TABLE original(
    field_a INT,field_b INT
    );

然后从原始表格中复制内容。

INSERT INTO origignal(field_a,field_b)
   SELECT field_a,field_b
   FROM tmp;

最后,放下旧桌子。

DROP TABLE tmp;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读