Weird unique constraint

Поиск
Список
Период
Сортировка
От Mike Christensen
Тема Weird unique constraint
Дата
Msg-id AANLkTikFg5LBTtV3jguc9TdhRqPKEsRfObBXiovsqzTi@mail.gmail.com
обсуждение исходный текст
Ответы Re: Weird unique constraint  (Thom Brown <thombrown@gmail.com>)
Re: Weird unique constraint  (Thom Brown <thom@linux.com>)
Re: Weird unique constraint  ("A. Kretschmer" <andreas.kretschmer@schollglas.com>)
Список pgsql-general
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

В списке pgsql-general по дате отправления:

Предыдущее
От: "A. Kretschmer"
Дата:
Сообщение: Re: Pulling data from a constraint def
Следующее
От: Thom Brown
Дата:
Сообщение: Re: Weird unique constraint