Re: Weird unique constraint

From: Mike Christensen <mike(at)kitchenpc(dot)com>
To: Thom Brown <thombrown(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Weird unique constraint
Date: 2010-05-12 07:09:34
Message-ID: AANLkTikLrMEQhCDfNiQM-A-m_tQSOdS0jxJARpWaw1aH@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

By golly you're right; maybe I should try this stuff before I email
hundreds of people :)

On Wed, May 12, 2010 at 12:00 AM, Thom Brown <thombrown(at)gmail(dot)com> wrote:
> On 12 May 2010 07:34, Mike Christensen <mike(at)kitchenpc(dot)com> wrote:
>>
>> I have the following constraint which almost works:
>>
>> ALTER TABLE ingredientforms ADD CONSTRAINT
>> ingredientforms_UniqueIngredientForm UNIQUE(IngredientId,
>> FormDisplayName);
>>
>> However, I want to allow rows that have the same IngredientId
>> FormDisplayName /iff/ FormDisplayName is null.  If FormDisplayName is
>> not null, then it must be unique.
>>
>> 1, NULL
>> 1, NULL
>>
>> Would be allowed.
>>
>> 1, 'Foo'
>> 1, 'Foo'
>>
>> would violate the constraint.
>>
>> 1, 'Foo'
>> 1, 'Bar'
>>
>> would be allowed.
>>
>> Any way to do this?  Insert performance is not an issue since the
>> table is almost never changed..
>>
>> Mike
>>
>
> What you've said you want to do looks like what you'd be allowed to do
> anyway.  You're allowed duplicate values on a unique constraint if one of
> the columns is null.
> Regards
> Thom
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Dave Page 2010-05-12 07:46:36 Re: Question about Beta for Windows 64 bits
Previous Message A. Kretschmer 2010-05-12 07:01:48 Re: Weird unique constraint