| 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: | Whole Thread | Raw Message | 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 ;)
| 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? |