2012-02-11 71 views
1

我只是想查詢目前所有細節Users表的表細節:無法查詢PostgreSQL中

select * from Users; 

但它說表Users不存在:

ERROR: relation "users" does not exist 
LINE 1: select * from Users; 

********** Error ********** 

ERROR: relation "users" does not exist 
SQL state: 42P01 
Character: 15 

我可能犯一個愚蠢的錯誤。

+0

謝謝。我已經給出了截圖來驗證層次結構(數據庫下的表創建)。 – 2012-02-11 19:40:40

回答

5

PostgreSQL中的「裸」標識符是小寫的。因此Users被視爲users(查看錯誤消息;它提到了users)。

要使其起作用,請將標識符放在雙引號中,如SELECT * from "Users";

如果您的標識符都是小寫字母,並且不是保留字,那麼您可以使用它們,否則用雙引號引用它們。

這適用於標識符(所以表名,列名,模式名稱和其他一些東西)。

+0

真棒抓bro!這是問題。從不在較低版本(8.x)中遇到此問題 – 2012-02-11 19:20:25

+0

還有一個問題需要解決。從「用戶」給出select *時,我得到了結果;在sql編輯器中。但是我需要從java類發送這個查詢。任何想法如何構建一個字符串,以便它將等於從「用戶」選擇*。我無法明確地向用戶添加「」,並且它的說法無法找到用戶 – 2012-02-11 19:25:36

+0

對不起,我不知道足夠的Java,但它聽起來很直接。提問用Java標記的問題。 – zgpmax 2012-02-11 19:27:07