SQL Server 2012 零起点 第四讲 如何创建Constraint

本篇将介绍如何在SQL Server 2012下创建表格中的Constraint和Default Constraint

Column可以是null或者not null,如果你的Column是允许空值的Column,当你没有插入任何数据时,这个Column的值将自动标记为NULL。

就例如我们在上一讲中使用过的表格tblPeople

4-constraint-null

GenderID是允许空值的,因此如果你使用以下的SQL命令行

Insert into tblPeople (ID, Name, Email) values (3,'rik','rik@rik.com')

你会得到一个空的column,如下图:

4-NULL-value-column

如果你不想任何人在GenderID下有空值,你可以使用Default Constraint,例如我希望GenderID的Default Value为3

ALTER TABLE tblPerson
ADD CONSTRAINT DF_tblPerson_GenderID
DEFAULT 3 FOR GenderID

当你执行完以上的Query后,你会在Constraints的文件夹下发现一个Default Constraint

4-default-constraint

现在如果你再执行一次增添语句:

Insert into tblPeople (ID, Name, Email) values (4,'rike','rik@rike.com')

你会在GenderID下得到一个3的初始值

4-default-constraint-with-value

然而,你也可以强制GenderID为NULL

ALTER TABLE {TABLE NAME}
ADD {COLUMN NAME} {DATA TYPE} {NULL | NOT NULL}
CONSTRAINT {CONSTRAINT NAME} DEFAULT {DEFAULT VALUE}

4-default-constraint-enforce-null