Re: create table with multiple unique fields

From: "steve boyle" <boylesa(at)dial(dot)pipex(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: create table with multiple unique fields
Date: 2002-01-07 12:58:10
Message-ID: a1c622$13qg$1@news.tht.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Karl,

you can either set the Primary key over all 3 fields to ensure uniquenes
i.e:

create table warehouse (
warehouseno int4,
location varchar(3),
productid varchar(1),
primary key (warehouseno, location, productid)
);

or define a unique index over the 3 fields after the table has been defined:

create table warehouse (
warehouseno int4,
location varchar(3),
productid varchar(1)
);

create unique index idx on warehouse (warehouseno, location, productid);

The difference between the two methods is that NULLS are not allowed in
Primary Keys (method 1) but would be allowed using the unique index (method
2).

Hope it helps

Steve Boyle

"Karl Raven" <lcaasia(at)pd(dot)jaring(dot)my> wrote in message
news:a1agea$qap$1(at)news(dot)tht(dot)net(dot)(dot)(dot)
>
> I'd like to create a table with 3 create unique fields :
>
> fields
> warehouseno,loc, productid, qty, qtyalllocated
>
> i'd like warehouseno,loc, productid to be unique..
> meaning
> 2000, ABC, X - ok
> 2000,ABC,Y -ok
> 2000,ABC,X - reject
> 2000,BCD,X - ok
>
> anyone knows how to do so?
>
> thanks
>
>

Browse pgsql-sql by date

  From Date Subject
Next Message Hunter, Ray 2002-01-07 17:14:13 Postgres vs. Redhat DB
Previous Message CoL 2002-01-07 11:01:05 Re: Error trying to create a functional index.