2012-02-11 5 views
1

J'essaie simplement d'interroger tous les détails présents dans Users tableau:Impossible d'interroger les détails de table dans PostgreSQL

select * from Users; 

mais il dit la table Users n'existe pas:

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

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

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

Je pourrais commettre une erreur stupide.

+0

Merci pour cela. J'avais donné une capture d'écran pour que la hiérarchie (création de table sous DB) soit vérifiée. –

Répondre

5

Les identifiants "nus" dans PostgreSQL sont en minuscules. Donc Users est traité comme users (regardez le message d'erreur, il mentionne users).

Pour que cela fonctionne, mettez l'identifiant entre guillemets comme SELECT * from "Users";.

Si vos identifiants sont déjà en minuscules et ne sont pas des mots réservés, vous pouvez les utiliser nus, sinon les citer entre guillemets.

Ceci s'applique aux identificateurs (donc noms de tables, noms de colonnes, noms de schémas, et quelques autres choses).

+0

Awesome catch bro !!! C'était le problème. Jamais rencontré ce problème dans les versions inférieures (8.x) –

+0

Un correctif supplémentaire. Je reçois des résultats en donnant select * de "Users"; dans l'éditeur sql. Mais j'ai besoin d'envoyer cette requête depuis une classe Java. Toute idée comment je peux construire une chaîne de sorte qu'il sera égal à sélectionner * de "Utilisateurs". Suis incapable d'ajouter explicitement "" aux utilisateurs, et son dire incapable de trouver des utilisateurs –

+0

Désolé, je ne connais pas assez Java, mais il semble simple. Posez une question avec Java. – zgpmax

Questions connexes