标识列是不能手动添加数据的。要修改标识就要用:      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(值)

解决方案 »

  1.   

    用 IDENTITY_INSERT 选项USE pubs
    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
      

  2.   

    Results:
     id, ...            ..
    ---------------------------------
    1  Karin          F Josephs
    2  Pirkko          O Koskitalo ----------------------------------
    1   Karin F F         Josephs
    2   Pirkko O Koskitalo
    10  seayar S xi