Re: Query in SQL statement - Mailing list pgsql-hackers

From Christopher Kings-Lynne
Subject Re: Query in SQL statement
Date
Msg-id 433BEC06.40004@familyhealth.com.au
Whole thread Raw
In response to Query in SQL statement  ("R, Rajesh (STSD)" <rajesh.r2@hp.com>)
Responses Re: Query in SQL statement
List pgsql-hackers
> CREATE SEQUENCE ai_id;
> CREATE TABLE badusers (
>   id int DEFAULT nextval('ai_id') NOT NULL,
>   UserName varchar(30),
>   Date  datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
>   Reason varchar(200),
>   Admin varchar(30) DEFAULT '-',
>   PRIMARY KEY (id),
>   KEY UserName (UserName),
>   KEY Date (Date)
> );
>
>
> Am always getting foll. Errors,
>
> ERROR:  relation "ai_id" already exists
> ERROR:  syntax error at or near "(" at character 240

You have just copied the Mysql code to Postgresql.  It will in no way
work.  Your default for 'Date' is illegal in postgresql and hence it
must allow NULLs.  There is no such thing as a 'datetime' type.  There
is no such thing as 'Key'.  Also your mixed case identifiers won't be
preserved.  You want:

CREATE TABLE badusers (
   id SERIAL PRIMARY KEY,
   UserName varchar(30),
   Date  timestamp,
   Reason varchar(200),
   Admin varchar(30) DEFAULT '-'
);

CREATE INDEX UserName_Idx ON badusers(Username);
CREATE INDEX Date_Idx ON badusers(Date);


pgsql-hackers by date:

Previous
From: "Obe, Regina DND\\MIS"
Date:
Subject: Re: Query in SQL statement
Next
From: "Zeugswetter Andreas DAZ SD"
Date:
Subject: Re: [PERFORM] A Better External Sort?