我想重命名 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 中的现有表中添加、删除或重命名列?
SQLite 具有有限的 ALTER TABLE 支持,您可以使用它来添加、重命名 或删除列或更改表的名称,详情请参阅ALTER TABLE。
如果您想对结构进行更复杂的更改或 表或其列的约束,您将必须重新创建它。 ...
首先,Sqlite 有一个 缺点,我们无法重命名列。相反,我们必须创建一个具有所需列名称的新表,然后从旧表复制数据。
有一种解决方法可以使用 DB SQLite 浏览器手动重命名表,如下