Обнуляемый натуральный идентификатор? - PullRequest
1 голос
/ 02 августа 2011

Можно ли добавить уникальное ограничение к полям с естественным идентификатором, чтобы только непустые значения были уникальными, но допускали наличие нескольких нулей?

1 Ответ

2 голосов
/ 02 августа 2011

Да . Похоже, это поведение по умолчанию, в соответствии с документами

Как правило, уникальное ограничение нарушается, когда в таблице две или более строки, в которых значения всех столбцов, включенных в ограничение, равны. Однако нулевые значения не считаются равными в этом сравнении. Это означает, что даже при наличии уникального ограничения можно хранить повторяющиеся строки, которые содержат нулевое значение, по крайней мере, в одном из ограниченных столбцов. Такое поведение соответствует стандарту SQL, но мы слышали, что другие базы данных SQL могут не следовать этому правилу. Поэтому будьте осторожны при разработке приложений, предназначенных для переносимости.

http://www.postgresql.org/docs/8.1/static/ddl-constraints.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...