AKI*_*WEB 7 postgresql syntax postgresql-9.2 quoted-identifier
我正在设计一个项目,该项目指定表中的列名应该是什么,规范中的列名之一是“组”。
我尝试创建它,但它总是在单词 = 附近抛出语法错误"group"
。我真的很好奇,因为 SQL 中的关键字是“group by”而不是 group,所以是什么原因,我无法重命名或创建带有名称的列"group".
我正在使用和得到的语法和错误:
ALTER TABLE test RENAME COLUMN sum TO group;
ERROR: syntax error at or near "group"
LINE 1: ALTER TABLE test RENAME COLUMN sum TO group;
Run Code Online (Sandbox Code Playgroud)
a_h*_*ame 12
group
是一个保留字(并且by
是另一个保留字)-它不是保留字GROUP BY
。因为它是一个保留字,所以不能直接用作标识符。
要使用保留字或带有“非法”字符(例如空格)的名称作为标识符,您需要引用标识符。
ALTER TABLE test RENAME COLUMN sum TO "group";
Run Code Online (Sandbox Code Playgroud)
请注意,使用带引号的标识符时,您需要始终引用它。它变得区分大小写。"group"
是与 不同的列名"GROUP"
。
详情请参阅手册。
一般来说,使用需要引用的名称是一个非常糟糕的主意。如果您可以想出一个不需要引用的不同名称,它将为您省去很多麻烦。
归档时间: |
|
查看次数: |
17108 次 |
最近记录: |