Этот вопрос решает проблему обеспечения уникальности для опциональных полей, которые могут содержать NULL значения.
Короткий ответ
Для обеспечения уникальности необязательного поля с NULL нужно использовать уникальный индекс, который в большинстве СУБД позволяет несколько NULL значений. Альтернативно можно использовать default значение вместо NULL или частичный индекс только для NOT NULL значений. Также можно создать вычисляемую колонку или использовать триггеры для кастомной валидации. Самый простой способ — полагаться на поведение уникального индекса с NULL.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.