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

Dea*_*ean 32 database sql-server constraints

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

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

Joe*_*eph 58

你可以使用CHECK约束

ALTER TABLE <table>
ADD CONSTRAINT chk_val CHECK (col in ('yes','no','maybe'))
Run Code Online (Sandbox Code Playgroud)

MSDN链接

  • 我如何在 SSMS 表构造函数中执行此操作? (2认同)

I15*_*159 7

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

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