重命名sqlite中的列

问题描述 投票:0回答:1

我想重命名 sqlite 中的列。我为某些列创建了两个带有空格的单词标题,这会在以后产生问题(例如

first name
而不是
first_name

以前,这似乎是不可能的link。但几个月前的版本似乎包含了

RENAME COLUMN
选项 link

但这似乎不起作用。

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
1个回答
1
投票

2024 年更新

来自 如何在 SQLite 中的现有表中添加、删除或重命名列?

SQLite 具有有限的 ALTER TABLE 支持,您可以使用它来添加、重命名 或删除列或更改表的名称,详情请参阅ALTER TABLE

如果您想对结构进行更复杂的更改或 表或其列的约束,您将必须重新创建它。 ...

旧版本

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

有一种解决方法可以使用 DB SQLite 浏览器手动重命名表,如下

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