Hi I am trying to insert into a table tester3 it fails when i use the below syntax
insert into tester3 (UN0, UN1) values ( 1, 'jishnu1');
but below insert
insert into tester3 values ( 1, 'jishnu1');
works fine.
mydb=# CREATE TABLE tester3
mydb-# (
mydb(# "UN0" integer,
mydb(# "UN1" VARCHAR(40)
mydb(# );
CREATE TABLE
mydb=# insert into tester3 (UN0, UN1) values ( 1, 'jishnu1');
ERROR: column "un0" of relation "tester3" does not exist
mydb=# \d tester3
Table "public.tester3"
Column | Type | Modifiers
--------+-----------------------+-----------
UN0 | integer |
UN1 | character varying(40) |
I think i am missing something very trivial, I tried several other column names some of them works fine and some are not. I am confused.
Does PostgreSQL have restriction in column names for which the first syntax of insert query works?
Edit :
Checkout Girdon Linoff's answer here , as Frank Heikens pointed out the other column names which were working without quotes were in lower case.
Lower case column is the standard within PostgreSQL and also works without quotes