新建这么一个表:
CREATE TABLE Employees
(
EmployeeID int IDENTITY NOT NULL,
FristName varchar(25) NOT NULL,
MiddleInitial char(1) NULL,
LastName varchar(25) NOT NULL,
Title varchar(25) NOT NULL,
SSN varchar(11) NOT NULL,
Salary money NOT NULL,
PriorSalary money NOT NULL,
LastRaise AS Salary - PriorSalary,
HireDate smalldatetime NOT NULL,
TerminationDate smalldatetime NULL,
ManagerEmpID int NOT NULL,
Department varchar(25) NOT NULL
)
再向这个表插入一条记录:
INSERT INTO Employees
(
FirstName,
LastName,
Title,
SSN,
Salary,
PriorSalary,
HireDate,
ManagerEmpID,
Department
)
VALUES
(
'Billy Bob',
'Boson',
'Head Cook & Bottle Washer',
'123-45-6789',
100000,
80000,
'1990-01-01',
1,
'Cooking and Bottling'
)此时系统报错:
消息 515,级别 16,状态 2,第 1 行
不能将值 NULL 插入列 'EmployeeID',表 'Accounting.dbo.Employees';列不允许有空值。INSERT 失败。标识列不是系统分配的吗?为什么还要显式插入数值呢?小鸟恳请各位大虾指教。
CREATE TABLE Employees
(
EmployeeID int IDENTITY NOT NULL,
FristName varchar(25) NOT NULL,
MiddleInitial char(1) NULL,
LastName varchar(25) NOT NULL,
Title varchar(25) NOT NULL,
SSN varchar(11) NOT NULL,
Salary money NOT NULL,
PriorSalary money NOT NULL,
LastRaise AS Salary - PriorSalary,
HireDate smalldatetime NOT NULL,
TerminationDate smalldatetime NULL,
ManagerEmpID int NOT NULL,
Department varchar(25) NOT NULL
)
再向这个表插入一条记录:
INSERT INTO Employees
(
FirstName,
LastName,
Title,
SSN,
Salary,
PriorSalary,
HireDate,
ManagerEmpID,
Department
)
VALUES
(
'Billy Bob',
'Boson',
'Head Cook & Bottle Washer',
'123-45-6789',
100000,
80000,
'1990-01-01',
1,
'Cooking and Bottling'
)此时系统报错:
消息 515,级别 16,状态 2,第 1 行
不能将值 NULL 插入列 'EmployeeID',表 'Accounting.dbo.Employees';列不允许有空值。INSERT 失败。标识列不是系统分配的吗?为什么还要显式插入数值呢?小鸟恳请各位大虾指教。
EmployeeID int IDENTITY(1,1) NOT NULL,
(
EmployeeID int IDENTITY NOT NULL,
FirstName varchar(25) NOT NULL,
MiddleInitial char(1) NULL,
LastName varchar(25) NOT NULL,
Title varchar(25) NOT NULL,
SSN varchar(11) NOT NULL,
Salary money NOT NULL,
PriorSalary money NOT NULL,
LastRaise AS Salary - PriorSalary,
HireDate smalldatetime NOT NULL,
TerminationDate smalldatetime NULL,
ManagerEmpID int NOT NULL,
Department varchar(25) NOT NULL
) INSERT INTO Employees
(
FirstName,
LastName,
Title,
SSN,
Salary,
PriorSalary,
HireDate,
ManagerEmpID,
Department
)
VALUES
(
'Billy Bob',
'Boson',
'Head Cook & Bottle Washer',
'123-45-6789',
100000,
80000,
'1990-01-01',
1,
'Cooking and Bottling'
) DROP TABLE Employees/*(1 行受影响)*/
[ database_name.[ owner ] .| owner.] table_name
( { < column_definition >
| column_name AS computed_column_expression
| < table_constraint > ::= [ CONSTRAINT constraint_name ] } | [ { PRIMARY KEY | UNIQUE } [ ,...n ]
) [ ON { filegroup | DEFAULT } ]
[ TEXTIMAGE_ON { filegroup | DEFAULT } ] < column_definition > ::= { column_name data_type }
[ COLLATE < collation_name > ]
[ [ DEFAULT constant_expression ]
| [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ]
]
[ ROWGUIDCOL]
[ < column_constraint > ] [ ...n ]
消息 207,级别 16,状态 1,第 2 行
列名 'FirstName' 无效。
调整后没有问题。顺利插入。