标识列是不能手动添加数据的。要修改标识就要用: A. 如有必要,重置当前标识值
下例在必要的情况下重置 jobs 表的当前标识值。USE pubs
GO
DBCC CHECKIDENT (jobs)
GOB. 报告当前标识值
下例报告 jobs 表中的当前标识值;如果该标识值不正确,并不对其进行更正。USE pubs
GO
DBCC CHECKIDENT (jobs, NORESEED)
GOC. 强制当前标识值为 30
下例强制 jobs 表中的当前标识值为 30。USE pubs
GO
DBCC CHECKIDENT (jobs, RESEED, 30)
GO------------------------------插出数据时: insert into 表名(非标识字段) values(值)
下例在必要的情况下重置 jobs 表的当前标识值。USE pubs
GO
DBCC CHECKIDENT (jobs)
GOB. 报告当前标识值
下例报告 jobs 表中的当前标识值;如果该标识值不正确,并不对其进行更正。USE pubs
GO
DBCC CHECKIDENT (jobs, NORESEED)
GOC. 强制当前标识值为 30
下例强制 jobs 表中的当前标识值为 30。USE pubs
GO
DBCC CHECKIDENT (jobs, RESEED, 30)
GO------------------------------插出数据时: insert into 表名(非标识字段) values(值)
IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'new_employees')
DROP TABLE new_employees
GO
CREATE TABLE new_employees
(
id_num int IDENTITY(1,1),
fname varchar (20),
minit char(1),
lname varchar(30)
)INSERT new_employees
(fname, minit, lname)
VALUES
('Karin', 'F', 'Josephs')INSERT new_employees
(fname, minit, lname)
VALUES
('Pirkko', 'O', 'Koskitalo')GOSELECT * FROM new_employees
GOset identity_insert new_employees on
insert new_employees (id_num, fname, minit, lname) values (10, 'seayar', 'S', 'xi')
set identity_insert new_employees off
GOSELECT * FROM new_employees
GO
id, ... ..
---------------------------------
1 Karin F Josephs
2 Pirkko O Koskitalo ----------------------------------
1 Karin F F Josephs
2 Pirkko O Koskitalo
10 seayar S xi