Re: UNIQUE KEY with null value... - Mailing list pgsql-admin

From Tzvetan Tzankov
Subject Re: UNIQUE KEY with null value...
Date
Msg-id dk8tcb$vu9$1@news.hub.org
Whole thread Raw
In response to UNIQUE KEY with null value...  (Diego <diego@unimedijui.com.br>)
List pgsql-admin
there are answers why it is that, here is how you can surround the problem
you can create the unique index after you create the table, something like

CREATE TABLE test (
id integer not null primary key,
id_uni integer not null,
cod integer,
name varchar(40));

CREATE UNIQUE INDEX test_id_uni_cod ON test (id_uni, cod) WHERE cod IS
NOT NULL;
CREATE UNIQUE INDEX test_id_uni ON test (id_uni) WHERE cod IS NULL;


Diego wrote:
> Hi,
> I´m a brazilian programmer!
>
> I have a question about Postgres UNIQUE KEY. Look:
>
> (Step 1)
> CREATE TABLE test (
> id integer not null primary key,
> id_uni integer not null,
> cod integer,
> name varchar(40),
> constraint test_uk unique(id_uni, cod)
> )
>
> (Step 2)
> insert into test (id, id_uni, cod, name)
> values (1, 1, null, 'A')
>
> (Step 3)
> insert into test (id, id_uni, cod, name)
> values (2, 1, null, 'B') =========> [Have the same UNIQUE KEY]
>
> Why postgresql don´t break insertion in this case????
>
> Thanks
> Diego Ziquinatti
> Brazil
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
>               http://archives.postgresql.org
>

pgsql-admin by date:

Previous
From: Colton A Smith
Date:
Subject: pg_dump and truncate
Next
From: "Rich"
Date:
Subject: How to start postresql db server as a administrator on windows platform?