Postgresql
列名可以是 PostgreSQL 或任何數據庫中的“組”嗎
我正在設計一個項目,該項目指定表中的列名應該是什麼,規範中的列名之一是“組”。
我嘗試創建它,但它總是在單詞 = 附近拋出語法錯誤
"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;
group
是保留字(並且by
是另一個保留字) - 不是保留字GROUP BY
。因為是保留字,所以不能直接作為標識符使用。要為標識符使用保留字或帶有“非法”字元(例如空格)的名稱,您需要引用標識符。
ALTER TABLE test RENAME COLUMN sum TO "group";
請注意,當使用帶引號的標識符時,您需要始終引用它。它變得區分大小寫。
"group"
是與 不同的列名"GROUP"
。有關詳細資訊,請參閱手冊。
一般來說,使用需要引用的名稱是一個非常糟糕的主意。如果您可以想出一個不需要引用的不同名稱,它將為您節省很多麻煩。