在sqlite中重命名列

在sqlite中重命名列,sqlite,Sqlite,我想在sqlite中重命名一列。我为一些列创建了两个带空格的单词标题,这会在以后产生问题(例如,first name而不是first\u name) 以前,这似乎是不可能的。但几个月前发布的版本似乎包含了重命名列选项 然而,这似乎不起作用 ALTER TABLE tablename RENAME COLUMN first name TO first_name 查询生成以下错误消息: near "COLUMN": syntax error: ALTER TABLE table

我想在sqlite中重命名一列。我为一些列创建了两个带空格的单词标题,这会在以后产生问题(例如,
first name
而不是
first\u name

以前,这似乎是不可能的。但几个月前发布的版本似乎包含了
重命名列
选项

然而,这似乎不起作用

ALTER TABLE tablename RENAME COLUMN first name TO first_name
查询生成以下错误消息:

near "COLUMN": syntax error: ALTER TABLE tablename RENAME COLUMN
我为列名添加了引号,以防出现空格问题:

ALTER TABLE tablename RENAME COLUMN "first name" TO "first_name"
但是得到同样的错误


这暗示重命名是可能的。但只重命名表(工作正常),而不重命名列。

首先,Sqlite有一个缺点,我们无法重命名列。。我们必须使用所需的列名创建一个新表,然后从旧表复制数据

使用DB SQLite浏览器手动重命名表有一个变通方法,如下所示

  • 在数据库浏览器中打开数据库文件(.sqlite或.sqlite3),我使用了一个表名为“RenameDemo”的示例数据库
  • 右键单击要更改列名的表名。在显示的选项中选择“修改表”
  • 将出现一个UI,您可以在其中编辑表定义, 在此窗口中,双击列名,使其可编辑
  • 在列中输入新名称。单击“确定”
  • 在主屏幕中,单击ctrl+s命令将这些更改提交到数据库

  • 检查此链接您的SQLite版本是什么?
    RENAME COLUMN
    适用于3.25.1+Isa版本,该链接仅适用于mysql,不适用于mysqlsqlite@forpas版本是3.26,但为了安全起见,我在良好的基础上从头开始重新安装。对于我的3.27.2版本
    RENAME COLUMN
    工作正常。