【轉】PostgreSQL中表名、欄位名大小寫問題

來源:互聯網
上載者:User

標籤:例子   知識   target   mysql   原來   需要   src   欄位   分享   

 學習hibernate的時候,資料庫用了PostgreSQL,第一節課就拋錯,User實體映射沒有死活不能匯出表。總是提示這一句:

         ERROR: syntax error at or near "User"。

 

        後來發現,如果把表名設成t_user這樣的就行了,難道PostgreSQL不能用大寫?又試試T_User,沒有報錯,到資料庫裡一看,哎?還是t_user!大寫自動變小寫了。PostgreSQL不識別大小寫?用pgAdmin圖形化介面建立一個User表完全沒問題啊。之後又實驗了一下表中的欄位,發現也是這個問題,總是提示ERROR: syntax error at or near "…"

        來在看pgAdmin的SQL視窗時突然發現(很多時候仔細觀察真的很重要啊),有大寫的地方都加了雙引號
         

        哦,突然開竅了,不是不識別大小寫,奧秘原來在雙引號上。

       先用SQL語句試試建立一個名字都是大寫字母的表,記得表名加上雙引號,運行無錯誤,成功!
       Hibernate例子中有兩種解決辦法,一種呢,就是表名用小寫,另一種就是大寫的加雙引號,當然,這時候你會問,倆雙引號也不行啊,用轉義符號唄。


      JPA例子中:

         



小結:

  1. PostgreSQL對錶名、欄位名都是區分大小寫。在圖形化介面可以正常建立。用SQL語句的時候需要加雙引號,如果jdbc查詢等處,記得使用轉義符號。
  2. PostgreSQL在SQL語句中對大小寫是不敏感的

select ID from t_user  和 select id from t_user


都會從t_user這個表中查詢id這個欄位。如果要查詢大寫字母的欄位,同樣要加上雙引號:select "ID" from t_user

【轉】PostgreSQL中表名、欄位名大小寫問題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.