Re: Query in SQL statement

From: Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au>
To: "R, Rajesh (STSD)" <rajesh(dot)r2(at)hp(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, pgsql-performance(at)postgresql(dot)org
Subject: Re: Query in SQL statement
Date: 2005-09-29 13:28:38
Message-ID: 433BEC06.40004@familyhealth.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-performance


> 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);

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Obe, Regina DND\MIS 2005-09-29 13:30:17 Re: Query in SQL statement
Previous Message Zeugswetter Andreas DAZ SD 2005-09-29 13:28:27 Re: [PERFORM] A Better External Sort?

Browse pgsql-performance by date

  From Date Subject
Next Message Gaetano Mendola 2005-09-29 13:29:30 Re: Delete query takes exorbitant amount of time
Previous Message Zeugswetter Andreas DAZ SD 2005-09-29 13:28:27 Re: [PERFORM] A Better External Sort?