报错信息 Msg 8101, Level 16, State 1, Line 4 
An explicit value for the identity column in table 'dbo.Vendors' can only be specified when a column list is used and IDENTITY_INSERT is ON.
表结构
CREATE TABLE [dbo].[Vendors](
[Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[Name] [nvarchar](100) NOT NULL,
[EnglishName] [nvarchar](50) NOT NULL,
[Alias] [nvarchar](20) NULL,
[WorkLocation] [nvarchar](20) NOT NULL,
[Property] [nvarchar](50) NULL,
[Department] [nvarchar](50) NULL,
[IsNew] [nchar](1) NOT NULL,
[Title] [nvarchar](50) NULL,
[Report_To] [nvarchar](50) NULL,
[Serving] [nvarchar](50) NULL,
 CONSTRAINT [PK_ChinaSoftVendors_1] PRIMARY KEY CLUSTERED 
(
[Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]GO
插入语句就是普通的  insert 

解决方案 »

  1.   

    id 自增列 不能显式的插入值
    把这个去掉
    比如原来的
    isnert into Vendors values(1,'name'...)
    改成isnert into Vendors values('name'...)
     
      

  2.   

    不懂英文害死人
    An explicit value for the identity column in table 'dbo.Vendors' can only be specified when a column list is used and IDENTITY_INSERT is ON.他说,如果你想显示插入自增列,需要将IDENTITY_INSERT设为ONSET IDENTITY_INSERT [dbo].[SearchKey] ON--你的插入语句SET IDENTITY_INSERT [dbo].[SearchKey] OFF
      

  3.   

    自增字段插入的时候不需要写进去,如果想写上,那就先把SET IDENTITY_INSERT [dbo].[SearchKey] ON
    再执行你的插入语句
      

  4.   


      SET IDENTITY_INSERT [dbo].[Vendors] OFF
      SET IDENTITY_INSERT [dbo].[Vendors] ON
      insert into [dbo].[ChinaSoftVendors]
      values(263,'a','a','a','a','a','a','1','a','a','a')
    SET IDENTITY_INSERT [dbo].[Vendors] OFF
    还是会报错,这个我昨天就试了,我怀疑是自增列的本身数据有问题,因为数据不连续了(自增列数据不连续),用了4楼的方法可行。