在Postgresql中重命名以@开头的列

时间:2014-10-30 16:24:37

标签: sql postgresql

我在Postgres中添加了一些形状文件,并且有一个名为@id的列。我想选择此列,但由于@而存在语法错误。

我有很多包含此字段的表格,如何以非手动方式更改?

2 个答案:

答案 0 :(得分: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";

答案 1 :(得分:1)

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

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