Re: Unique index with Null value in one field

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: Hrishi Joshi <hjoshi(at)abcsinc(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Unique index with Null value in one field
Date: 2005-10-12 14:24:18
Message-ID: c2d9e70e0510120724h59f19af6kb86678981229899@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 11 Oct 2005 17:36:59 -0500, Hrishi Joshi <hjoshi(at)abcsinc(dot)com> wrote:
> Hi,
>
> I need to define a Unique index on 3 non-PK fields (composite key) on my
> table in PostgreSQL 8.0.3.
>
> The problem is, if any of those 3 fields is Null, PostgreSQL allows
> duplicate rows to be inserted. While searching through archives, I found
> more information about this.
>
> But I need to know how can I make PostgreSQL throw error on attempt to
> insert second record having same 3 field values, one of them being Null.
>
>
> ------------------------------------------------
> myid | field1 | field2 | field3 | description
> PK | <--- Unique Index ---> |
> ------------------------------------------------
> 100 | ABC | XYZ | <null> | Record 1 -> This is ok.
> 101 | ABC | XYZ | <null> | Record 2 -> * This should error!
> ------------------------------------------------
>
> Fields {field1, field2, field3} have unique index on them and "myid" is
> the primary key of my table.
>
>
> Oracle 9i throws exception in such case, but PostgreSQL does not.
>
>
> Thanks,
> - Hrishi Joshi.
>
>

maybe with a function and comparing yourself...

--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Ned Lilly 2005-10-12 14:34:58 Re: [GENERAL] Oracle buys Innobase
Previous Message Bruce Momjian 2005-10-12 14:03:32 Re: fine tuned database dump/reload?