Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как добавить констрэйнт на NULL ? / 5 сообщений из 5, страница 1 из 1
06.12.2019, 11:08
    #39898984
комит
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить констрэйнт на NULL ?
Доброе утро.

Есть таблица:

Код: sql
1.
CREATE TABLE text1(id int,value text);




Надо сделать констрэйнт, который не позволяет вставить дубли и при этом учитывает NULL по первому столбцу.


Т.е. такой:

Код: sql
1.
ALTER text1 ADD CONSTRAINT text1_con UNIQUE (id,, value);



Позволяет вставить (NULL,'some_text') сколько угодно раз.



А

Код: sql
1.
ALTER text1 ADD CONSTRAINT text1_con UNIQUE (COALESCE(id,0), value);



Вызывает ошибку:
LINE 1: ALTER text1 ADD CONSTRAINT text1_con UNIQUE (COALESCE(id,0),...



Уникальный индекс с COALESCE решает проблему, но интересует как можно сделать именно CONSTRAINT с COALESCE?
...
Рейтинг: 0 / 0
06.12.2019, 11:17
    #39898990
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить констрэйнт на NULL ?
комит
сделать именно CONSTRAINT

Никак.

А нужен ли именно CONSTRAINT (зачем?) или уникального индекса достаточно? Уникальный индекс по функциям может быть.
...
Рейтинг: 0 / 0
06.12.2019, 11:19
    #39898991
комит
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить констрэйнт на NULL ?
Melkij
комит
сделать именно CONSTRAINT

Никак.

А нужен ли именно CONSTRAINT (зачем?) или уникального индекса достаточно? Уникальный индекс по функциям может быть.




Хотелось бы именно констрэйнт, он красивее.
...
Рейтинг: 0 / 0
06.12.2019, 11:50
    #39899010
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить констрэйнт на NULL ?
комит
...
Хотелось бы именно констрэйнт, он красивее .

жениться на нем будете?
...
Рейтинг: 0 / 0
06.12.2019, 12:39
    #39899040
комит
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить констрэйнт на NULL ?
alex-ls
комит
...
Хотелось бы именно констрэйнт, он красивее .

жениться на нем будете?


Нет, я не москвич.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как добавить констрэйнт на NULL ? / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]