我正在开始涉及一个小数据库的项目,我正在考虑使用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;