使用PostgreSQL 9.4postgresql:hstore key作爲保留關鍵字:任何方式?
我有一個名爲hstore字段的表 '引用':
試圖做的事:SELECT * FROM表,其中(參考 - > '鍵'= '值') 結果
ERROR: syntax error at or near "references"
由於它的工作原理與另一個字段名希望,我懷疑這是因爲它是一個保留字......但我不喜歡我的應用程序命名此大量使用的領域。
那麼,是否有任何語法來解決這個問題?
使用PostgreSQL 9.4postgresql:hstore key作爲保留關鍵字:任何方式?
我有一個名爲hstore字段的表 '引用':
試圖做的事:SELECT * FROM表,其中(參考 - > '鍵'= '值') 結果
ERROR: syntax error at or near "references"
由於它的工作原理與另一個字段名希望,我懷疑這是因爲它是一個保留字......但我不喜歡我的應用程序命名此大量使用的領域。
那麼,是否有任何語法來解決這個問題?
您需要在雙引號中包含關鍵字的列名。
是的,我只試過用單引號圍繞列名,但它似乎並不意味着同樣的事情...... – marcpmichel
單引號創建一個文本字符串。雙引號創建一個標識符(列或表名)。請參閱quote_literal和quote_identifer函數。 –
所以,感謝大衛,解決的辦法是:
select * from table where ("references"->'key' = 'value');
其中引號和雙引號的含義是很重要的。
(看看這個)。[http://stackoverflow.com/questions/7651417/escaping-keyword-like-column-names-in-postgres] –