PostgreSQL中表名、字段名大小寫問題

學習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例子中:

         



小結:
spa

  1. PostgreSQL對錶名、字段名都是區分大小寫的。在圖形化界面能夠正常新建。用SQL語句的時候須要加雙引號,若是jdbc查詢等處,記得使用轉義符號。
    .net

  2. PostgreSQL在SQL語句中對大小寫是不敏感的hibernate

select ID from t_user  和 select id from t_userblog


都會從t_user這個表中查詢id這個字段。若是要查詢大寫字母的字段,一樣要加上雙引號:select "ID" from t_userget

 

http://blog.csdn.net/zengchaoyue/article/details/8279744入門

相關文章
相關標籤/搜索