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例子中:
?????????
小結:
select ID from t_user? 和 select id from t_user
都會從t_user這個表中查詢id這個字段。如果要查詢大寫字母的字段,同樣要加上雙引號:select "ID" from t_user
?
總結
以上是生活随笔為你收集整理的PostgreSQL中表名、字段名大小写问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Boost】boost库中functi
- 下一篇: Shell脚本语言与编译型语言的差异