Ограничьте столбец SQL Server списком возможных значений

Как установить ограничение на столбец, чтобы он мог содержать только следующие значения? Что вы называете этим типом ограничений?

Allowed values: "yes", "no" or "maybe"
Column Data Type: nvarchar(5)
DBMS: SQL Server 2008

Ответы

Ответ 1

вы можете использовать ограничение ПРОВЕРИТЬ

ALTER TABLE <table>
ADD CONSTRAINT chk_val CHECK (col in ('yes','no','maybe'))

Ссылка MSDN

Ответ 2

Да, проверьте ограничение, это то, что вам нужно. Вы можете объявить проверочное ограничение в объявлении таблицы:

CREATE TABLE test(
    _id BIGINT PRIMARY KEY NOT NULL,
    decision NVARCHAR(5),
    CHECK (decision in ('yes','no','maybe'))
);

Ответ 3

Использование таблицы перечисления - это путь.

Ответ 4

Я пытаюсь поставить этот

ПРОВЕРКА (доступно IN ( "Да", "Нет" )) DEFAULT "Да"; под выражением проверки, но оно дает мне ошибки?

Ответ 5

Ограничение является хорошим вариантом для небольших списков. Как насчет большего списка значений? Какие-либо предложения?