我正在尝试在Visual Studio 2015中运行我的程序。我在其中创建了一个.mdf
数据库和一个表。当我尝试运行它时,我得到以下错误:
cannot insert explicit value for identity column in table tblinfo when IDENTITY_INSERT is set to OFF".
希望有人可以帮助我。感谢。
答案 0 :(得分:0)
“SET IDENTITY_INSERT”的范围仅基于连接。对于新连接,它将被重置。
这里,如果要将数据插入标识列,则必须先在insert语句之前在存储过程中设置SET IDENTITY_INSERT ON。再次插入数据后,将其设置为ON。插入语句后设置IDENTITY_INSERT OFF。
答案 1 :(得分:-1)
您不应插入IDENTITY列。相反,让SQL Server为您分配值,并使用scope_identity
将其返回到您的应用程序代码create procedure dbo.addorupdate
...
begin
if @node = 'add'
begin
insert into tblinfo (firstname, lastname, age, gender) values (@firstname, @lastname, @age, @gender)
return scope_identity()
end