Thread: Stupid Question

Stupid Question

From
"Rebekah Kirk"
Date:
I want to create a table and for whatever reason it will not accept the
command, can anyone say what is wrong as I am very new to Postgres, thanks:

CREATE TABLE cmpnycontacts (
ContactNo integer(10) NOT NULL SERIAL,
CmpnyNo varchar(6) NOT NULL,
FirstName varchar(30) NOT NULL,
Surname varchar(30) NOT NULL,
Phone varchar(20) NOT NULL,
Mobile varchar(20) NOT NULL,
Email varchar(40) NOT NULL,
Country char(2) NOT NULL,
CONSTRAINT cmpnycontacts_pkey PRIMARY KEY (ContactNo)
);





Re: Stupid Question

From
Nils Zonneveld
Date:

Rebekah Kirk wrote:
> 
> I want to create a table and for whatever reason it will not accept the
> command, can anyone say what is wrong as I am very new to Postgres, thanks:
> 


> CREATE TABLE cmpnycontacts (
> ContactNo integer(10) NOT NULL SERIAL,
> CmpnyNo varchar(6) NOT NULL,
> FirstName varchar(30) NOT NULL,
> Surname varchar(30) NOT NULL,
> Phone varchar(20) NOT NULL,
> Mobile varchar(20) NOT NULL,
> Email varchar(40) NOT NULL,
> Country char(2) NOT NULL,
> CONSTRAINT cmpnycontacts_pkey PRIMARY KEY (ContactNo)
> );


Your problem is with the ContactNo, two things:
- there is no specified length for 'integer', so integer(10) would fail
(integer is defined IIRC as int4, meaning an integer that uses four
bytes to store its values).
- the SERIAL keyword defines a integer coupled to a sequence. 

The following statement would work:

CREATE TABLE cmpnycontacts (
ContactNo SERIAL primary key,
CmpnyNo varchar(6) NOT NULL,
FirstName varchar(30) NOT NULL,
Surname varchar(30) NOT NULL,
Phone varchar(20) NOT NULL,
Mobile varchar(20) NOT NULL,
Email varchar(40) NOT NULL,
Country char(2) NOT NULL
);

Its looks like this table has a relationship to a table that holds the
company data. Since PostgreSQL supports referential integrity you could
extend CmpnyNo in the following way:

CmpnyNo varchar(6) not null references Company                            on update cascade
ondelete cascade,
 


Hope this helps,

Nils Zonneveld

-- 
Alles van waarde is weerloos
Lucebert


Re: Stupid Question

From
Devrim GUNDUZ
Date:
<<< No Message Collected >>>