Very strange selectproblem

Started by Victor Spång Arthurssonover 22 years ago3 messagesgeneral
Jump to latest

Can't select 3 columns from a table called varer.

The columns are the three first and are called vnummer, puNr and dNr.

The error message is:

indiadan=# select varer.vNummer from varer;
ERROR: No such attribute varer.vnummer
indiadan=#

I'm probably doing something else wrong, but can't figure what…

Help needed,

regards,

Victor

#2Francois Suter
francois@monpetitcoin.com
In reply to: Victor Spång Arthursson (#1)
Re: Very strange selectproblem

indiadan=# select varer.vNummer from varer;
ERROR: No such attribute varer.vnummer
indiadan=#

PostgreSQL casts all names to lowercase. To select your field, you need
to use double quotes, as in:

select varer."vNummer" from varer;

Cheers.

---------------
Francois

Home page: http://www.monpetitcoin.com/

"Would Descartes have programmed in Pascal?" - Umberto Eco

#3Csaba Nagy
nagy@ecircle-ag.com
In reply to: Victor Spång Arthursson (#1)
Re: Very strange selectproblem

See my comments below.

On Tue, 2003-11-04 at 13:10, Victor Spång Arthursson wrote:

Can't select 3 columns from a table called varer.

The columns are the three first and are called vnummer, puNr and dNr.

The error message is:

indiadan=# select varer.vNummer from varer;

^^^^^^^^^^
this is upper case N

ERROR: No such attribute varer.vnummer

^^^^^^^
this is lower case n in vnummer

The problem could be that you created the table with the name of the vNummer column enclosed in double quotes, like this: "vNummer".
In this case postgres remembers the case of the field name. Names are case sensitive in postgres.
In your query, you don't enclose the field names in double quotes, like: varer.vNummer, which is folded to all lower case by postgres, and won't match the mixed case field you have created.
Try to quote the field names in the query, it will likely work.
A good practice to avoid such errors is to always use lower case names with postgres.

HTH,
Csaba.