SQLite - 更改表的列类型?



我正在启动一个涉及一个小数据库的项目,我正在考虑使用sqlite。如果我创建一个表,并且将其中一列定义为文本,但是存储的所有值都是整数 - 是否有一种方法可以更改列的数据类型?我正在使用SQLite Manager,我找不到允许我这样做的功能。我可以使用SQL命令做到这一点,还是对SQLite的限制?也许,即使有此限制,也可以找到某种方法并创建带有所需列类型的新表,然后将数据导入其中。

问候,尼克

sqlite不完全支持alter表语句。您唯一可以做的就是重命名表和/或添加列。如果要重命名列,最好的选择是使用新列数据类型/名称创建一个新表格,并删除旧表以重命名新表格。

可以说,您有一张桌子,需要将" 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;

no,没有"快速"使用SQLITE。不像您可以使用MySQL。您将必须放下桌子,然后重新添加它。

要记住的另一件事是,SQLite对您可以放入每个部分的数据类型非常灵活。这是描述数据型的链接,以及它们的工作方式:http://www.sqlite.org/datatype3.html

如果您所说的功能对您来说很重要,则可能是使用MySQL。它仍然是免费的,非常适合小型项目。

sqlitemanger中的alter表

步骤

  1. sqlite管理中的打开数据库
  2. 双击表名
  3. 将弹出窗口。

带有Sqllite Manager 3.5在表上您需要修改的双重clic

相关内容

  • 没有找到相关文章