2014-10-30 76 views
0

我在Postgres中添加了一些形状文件,并且有一列名为@id的列。我想选择这个列,但由于@,有一个语法错误。重命名Postgresql中以@开头的列

我有很多包含这个字段的表格,我怎样才能以非手动方式更改它?

回答

1

你其实可以使用Unicode字符要么或周围列名用双引号选择@id

SELECT U&"\0040id" FROM tablename; 
SELECT "@id" FROM tablename; 

您可以使用两种方法来重命名列,以及:

ALTER TABLE tablename RENAME COLUMN U&"\0040id" to "id"; 
ALTER TABLE tablename RENAME COLUMN "@id" to "id"; 
+0

谢谢,它使用unicode字符 – Raha1986 2014-10-30 16:53:27

1

原理是一样的,你只需要确保你的名字用双引号括起来。

ALTER TABLE "some_table" 
    RENAME COLUMN "old_name" TO "new_name";