2016-07-06 52 views
0

使用PostgreSQL 9.4postgresql:hstore key作爲保留關鍵字:任何方式?

我有一個名爲hstore字段的表 '引用':

試圖做的事:SELECT * FROM表,其中(參考 - > '鍵'= '值') 結果

ERROR: syntax error at or near "references"

由於它的工作原理與另一個字段名希望,我懷疑這是因爲它是一個保留字......但我不喜歡我的應用程序命名此大量使用的領域。

那麼,是否有任何語法來解決這個問題?

+0

(看看這個)。[http://stackoverflow.com/questions/7651417/escaping-keyword-like-column-names-in-postgres] –

回答

0

您需要在雙引號中包含關鍵字的列名。

+0

是的,我只試過用單引號圍繞列名,但它似乎並不意味着同樣的事情...... – marcpmichel

+0

單引號創建一個文本字符串。雙引號創建一個標識符(列或表名)。請參閱quote_literal和quote_identifer函數。 –

0

所以,感謝大衛,解決的辦法是:

select * from table where ("references"->'key' = 'value');

其中引號和雙引號的含義是很重要的。