如何添加列约束在MS SQL

问题描述:

我在MS SQL 2008 R2中的表,我想一个约束添加到列与我只能接受3值一样如何添加列约束在MS SQL

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

东西像这样:

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

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

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

利用SQL CHECK Constraint SQL Server支持。

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

+1,我总是喜欢到指定一个有意义的名字,因为系统生成的默认名称都是垃圾。 – 2012-08-08 14:22:03

尝试:

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

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