如果不知道行首次插入到表的时候列的值,就可以便用DEFAULT约束,用一个预期的或者非空的值来填充那个列。在CREATE TABLE的列定义中指定默认值的语法如下:
DEFAULT constant_expression
constant_expression就是当列值没有在INSERT中显式指定的时候,希趣填充到列的默认值。
USE AdventureWorks
GO
DROP TABLE Person.EmployeeEducationType
CREATE TABLE Person.EmployeeEducationType
(
EmployeeEducationTypeID int NOT NULL PRIMARY KEY,
EmployeeID int NOT NULL,
EducationTypeID int NOT NULL DEFAULT 1,
GPA numeric(4,3) NOT NULL
)
EducationTypeID的默认值被设置成1。DEFAULT关键字放在列定义之后,后面跟随默认值(必须符合列数据类型)。
EducationTypeID int NOT NULL DEFAULT 1,
由于列有DEFAULT值,如果在INSERT语句中没有显式插入值,值1会被插入,而不是NUIL值。