如何在MS SQL中添加列约束

时间:2012-08-08 13:28:42

标签: sql sql-server sql-server-2008 tsql sql-server-2008-r2

我在MS Sql 2008 r2中有一个表,我想在列中添加约束,我只能接受3个值,如

myColum      char(2)    constrain values (A1, B2, C3)

5 个答案:

答案 0 :(得分:3)

这样的事情:

myColum  char(2)  check (myColum in ('A1', 'B2', 'C3'))

SQLFiddle:http://sqlfiddle.com/#!3/8e304

答案 1 :(得分:2)

使用sql server支持的SQL CHECK Constraint

CREATE TABLE test
(
    myColum       char(2) NOT NULL
    CONSTRAINT chk_Person CHECK (myColum in ('A1', 'B2', 'C3')) 
)

答案 2 :(得分:1)

ALTER TABLE <table>
ADD CHECK col in ('A1', 'B2', 'C3')

答案 3 :(得分:0)

尝试:

ALTER TABLE YourTable WITH CHECK ADD  CONSTRAINT ck_y CHECK (myColum in ('A1','B2','C3'))
GO

答案 4 :(得分:0)

CREATE TABLE
(
 myColumn char(2) NOT NULL check(myColumn= 'A1' or myColumn= 'B2'  myColumn= 'C3') 
)