重命名其中包含空格的列

时间:2012-10-19 14:42:43

标签: sql postgresql

有人错误地创建了一个表,其中所有列名都有一个前导空格。例如:'accountid'现在是'accountid'。

我将编写一个SQL语句来重命名这些列。我写的那个是:

ALTER TABLE mytable RENAME COLUMN ' accountid' TO 'accountid';

但是,我收到以下错误:

Error : ERROR:  syntax error at or near "' accountid'"

有人可以告诉我如何重命名这些吗?如何更改我的语句以使其可运行?我使用PostgreSQL。

非常感谢。

2 个答案:

答案 0 :(得分:7)

在PostgreSQL中,您使用双引号作为标识符(如有必要):"

ALTER TABLE mytable RENAME COLUMN " accountid" TO "accountid";

See here and browse to 4.1.1

答案 1 :(得分:0)

你甚至可以放其他角色:

select c.comment "actor.comment"  from post p join comment c on p.id = c.post_id;