SQL Server 2005创建带有列默认值范围的表

6

我正在尝试完成一些作业,遇到了一个关于创建表格的问题。如何为一系列数字声明默认列?它的意思是:“建筑列(默认为1,但可以是1-10)”。我似乎找不到...或者不知道在哪里查找这些信息。

CREATE TABLE tblDepartment
(
Department_ID int NOT NULL IDENTITY,
Department_Name varchar(255) NOT NULL,
Division_Name varchar(255) NOT NULL,
City varchar(255) default 'spokane' NOT NULL,
Building int default 1 NOT NULL,
Phone varchar(255)
)

我尝试创建一个 int 类型的默认值为1,范围在1到10之间且不能为空的字段,但是失败了。我还尝试创建一个默认值为1-10的 int 类型字段,虽然表格被创建了,但我认为这不正确。

1个回答

6
您需要在该列上添加“CHECK约束”,具体请参考此处
ALTER TABLE tblDepartment
ADD CONSTRAINT chkbuilding CHECK (Building >=1 AND Building <= 10 );

3
我认为我不应该改变表格,只需要创建。下面是我从http://www.w3schools.com/sql/sql_check.asp得到的内容:创建tblDepartment表格 ( Building int 默认1 非空, 约束条件 Check (Building >=1 AND Building <= 10 ) ) - Matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接