Страницы

Поиск по вопросам

пятница, 11 января 2019 г.

Как запретить повторение значений в таблице?

Есть таблица:
| ID | Login | Post | +----+-------+----------+ | 1 | Woddy | manager | | 2 | Simi | operator | | 3 | Woddy | agent |
Надо ограничение, например чтобы у Woddy не было разных Post(должностей). Создал индекс, сделал уникальным поля Login и Post Как понимаю это можно реализовать через Constraints, тогда что писать в expressions Нужно чтобы Login не повторялся Скрипт индекса:
ALTER TABLE Persons ADD CONSTRAINT uc_Person UNIQUE (Login ,Post)


Ответ

Созданный вами:
CONSTRAINT uc_Person UNIQUE (Login, Post)
делает пару (Login ,Post) уникальной, т.е. Woddy может быть manager, но такая запись может быть только одна, Woddy не может быть manager дважды, и ему не запрещено иметь другие Post.
Соответственно, чтобы Login не повторялся должно быть:
CONSTRAINT uc_Person UNIQUE (Login)

Комментариев нет:

Отправить комментарий