当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Customer' 中的标识列插入显式值。
我所有的操作都在VS里完成,存储过程里有写这么一句
C# code
Insert Customer(Name,Sex,Password,Truename,Phonecode,Email,City,Address,Postcode,CustomerID)
values(@Name,@Sex,@Password,@Truename,@Phonecode,@Email,@City,@Address,@Postcode,@CustomerID)
select
@CustomerID=@@identity
然后查到IDENTITY_INSERT的默认值是OFF的。怎么设置?我参考的网上一个项目也没有看到它在哪里有设置这个的。求帮助
------解决方案--------------------set IDENTITY_INSERT 存储过程名 on
------解决方案--------------------SET IDENTITY_INSERT Customer ON
表名
------解决方案--------------------CREATE TABLE #test(
id int IDENTITY(1,1) NOT NULL,
orderInfo varchar(1000) NULL)
---- 执行如下sql将报错
insert into #test values(1,'1')
---- 执行如下3行sql将不报错
set identity_insert #test on
insert into #test(id, orderInfo) values(1,'1')
set identity_insert #test off
select*From #test
drop table #test