当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Customer' 中的标识列插入显式值。该如何解决
当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Customer' 中的标识列插入显式值。
我所有的操作都在VS里完成,存储过程里有写这么一句
然后查到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
我所有的操作都在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