1
我有一個紅寶石在rails應用程序中,我正在查詢一個布爾列,Flag。該代碼是:爲什麼不在where查詢在postgresql中工作?
Merchant.where
然而,這並不在所有的工作,唯一的結果是,招商表沒有列名「標誌」(,假「標記=?」)。有沒有什麼辦法解決這一問題?列名以大寫字母開頭,但搜索正在進行小寫「標記」
我有一個紅寶石在rails應用程序中,我正在查詢一個布爾列,Flag。該代碼是:爲什麼不在where查詢在postgresql中工作?
Merchant.where
然而,這並不在所有的工作,唯一的結果是,招商表沒有列名「標誌」(,假「標記=?」)。有沒有什麼辦法解決這一問題?列名以大寫字母開頭,但搜索正在進行小寫「標記」
如果在創建表時引用了列名,那麼您將必須永遠引用它。所以,如果你開始使用此:
create table merchants (
-- ...
"Flag" boolean
-- ...
)
那麼你就必須使用
Merchant.where('"Flag" = ?', false)
PostgreSQL的標準化所有未加引號的標識符(標準說不大寫)以小寫來引用它,這就是爲什麼錯誤消息抱怨flag
而不是Flag
。
如果可以,您可能希望只用小寫字母名稱重建表格。
是的,我引用了Flag。 –
它是「旗幟」還是「旗幟」?在RoR中,約定是使用小寫字母。 – Behrang