On 03/26/2015 10:21 AM, "Leonardo M. Ramé" wrote:

El 26/03/15 a las 14:18, Adrian Klaver escibió:
On 03/26/2015 10:12 AM, "Leonardo M. Ramé" wrote:
Ok, I have this table:

CREATE TABLE sessions
(
   "SESSIONID" integer NOT NULL,
   "SESSIONTIMESTAMP" character varying(45) NOT NULL,
   "SESSIONDATA" character varying(200) DEFAULT NULL::character varying,
   CONSTRAINT sessions_pkey PRIMARY KEY ("SESSIONID")
)

Now, when I do:

DELETE From sessions WHERE SESSIONTIMESTAMP < '2010-01-01 10:02:02'

I get:

ERROR:  column "sessiontimestamp" does not exist
LINE 1: DELETE From sessions WHERE SESSIONTIMESTAMP < '2010-01-01 10...
                                    ^
********** Error **********

ERROR: column "sessiontimestamp" does not exist
SQL state: 42703
Character: 28

But if I do:

DELETE From sessions WHERE "SESSIONTIMESTAMP" < '2010-01-01 10:02:02'

It DOES work.

Why the db doesn't recognize the name of the table without quotes?.

See here, bottom of 4.1.1. Identifiers and Key Words:

http://www.postgresql.org/docs/9.3/interactive/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS



Thanks, then it looks like SESSIONTIMESTAMP is an identifier?.

"The tokens MY_TABLE and A are examples of identifiers. They identify names of tables, columns, or other database objects, depending on the command they are used in. Therefore they are sometimes simply called "names". "

--
Adrian Klaver
adrian.kla...@aklaver.com


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to