问题
How do I put a constraint on a column so that it can only contain the following values? What do you call this type of constraint?
Allowed values: "yes", "no" or "maybe"
Column Data Type: nvarchar(5)
DBMS: SQL Server 2008
回答1:
you can use a CHECK constraint
ALTER TABLE <table>
ADD CONSTRAINT chk_val CHECK (col in ('yes','no','maybe'))
MSDN link
回答2:
Yes, check a constraint is it what you need. You can declare check constraint at the table declaration:
CREATE TABLE test(
_id BIGINT PRIMARY KEY NOT NULL,
decision NVARCHAR(5),
CHECK (decision in ('yes','no','maybe'))
);
回答3:
Using enumeration table is a way to go.
来源:https://stackoverflow.com/questions/11981868/limit-sql-server-column-to-a-list-of-possible-values