将SQL Server列限制为可能值的列表

时间:2012-08-16 06:36:29

标签: sql-server database constraints

如何在列上添加约束以使其只包含以下值?你怎么称呼这种约束?

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

3 个答案:

答案 0 :(得分:52)

您可以使用 CHECK 约束

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

MSDN link

答案 1 :(得分:5)

是的,检查一个约束是否是你需要的。 您可以在表声明中声明检查约束:

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

答案 2 :(得分:2)

使用枚举表是一种方法。