我可以創建一個列的單名一個表,例如:創建多個單詞表中單列
CREATE TABLE testTable
(
Name text,
Age int
)
我如何可以創建多個單詞的單個列?例如:
CREATE TABLE testTable
(
Person Name text,
Person Age int
)
當我使用這個,它給了我錯誤。找不到解決方案。
我可以創建一個列的單名一個表,例如:創建多個單詞表中單列
CREATE TABLE testTable
(
Name text,
Age int
)
我如何可以創建多個單詞的單個列?例如:
CREATE TABLE testTable
(
Person Name text,
Person Age int
)
當我使用這個,它給了我錯誤。找不到解決方案。
報價與"
列名:
CREATE TABLE testTable (
"Person Name" text,
"Person Age" int);
有第二種標識符:分隔IDE標識符或引用標識符。它是由在雙引號(「)。包圍的任意字符序列形成
引號標識符可以包含任何字符,除了與代碼零的字符 。(要包括一個雙引號,寫兩個雙引號) 這使得構建,否則 是不可能的表或列名稱,如含有空格或與號的該 長度的限制仍然適用。
@joojoo:雖然這是正確的答案,並且會起作用,但不推薦使用這種列名稱。從長遠來看,這會給你帶來很多麻煩,實際上它值得。 –
明白了。謝謝@ lad2025! –
這是可能的報價("
)這些名稱強制數據庫執行此操作。在實踐中,正如一些評論中指出的那樣,這是極其令人討厭的和非生產性的。如果你這樣做,那麼每時候你需要引用此列,你將不得不
所以這樣的:
SELECT testTable."person name" FROM testTable
會拋出錯誤,因爲我沒有大寫p
或n
。
這會導致浪費大量時間查找名稱的確切格式,每次引用它。
將更加普遍和簡單的解決方案是簡單地使用強調:
CREATE TABLE test_table (
person_name text,
person_age int
)
我,我也相信我們的很多行業中,通常會認爲包含空格的名稱(或需要我的任何其它字符引用該名稱)作爲缺乏經驗或缺乏知識的標誌。
定界符在'''postgres中,但你爲什麼要這麼做?每次引用該列時,您都必須使用分隔符 – Mihai
以下是手冊的相關鏈接:http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX -IDENTIFIERS –