Postgresql

列名可以是 PostgreSQL 或任何數據庫中的“組”嗎

  • December 12, 2021

我正在設計一個項目,該項目指定表中的列名應該是什麼,規範中的列名之一是“組”。

我嘗試創建它,但它總是在單詞 = 附近拋出語法錯誤"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"

有關詳細資訊,請參閱手冊

一般來說,使用需要引用的名稱是一個非常糟糕的主意。如果您可以想出一個不需要引用的不同名稱,它將為您節省很多麻煩。

引用自:https://dba.stackexchange.com/questions/52273