有时候我们需要对有自增长属性的字段插入值,但自增长字段是不允许插入数据的,如果直接插入数据会报错:
--测试数据
if not object_id(N'T') is null
drop table T
Go
Create table T([Id] INT IDENTITY,[Name] nvarchar(22))
--测试数据
Insert T(Id,name)
select 1,N'张三'
这时候会报错:
我们可以做如下操作,来对自增长字段插入数据:
--设置可以插入
SET IDENTITY_INSERT T ON;
--测试插入后读取数据
Insert T(Id,name)
select 1,N'张三'
Select * from T
结果如下:
最后我们恢复原来的操作:
SET IDENTITY_INSERT t_user_goods OFF;
再分享一个小tips,SET IDENTITY_INSERT T ON;这样设置后可能不起作用,注意不要insert T select 这样,要写上具体插入的字段,这样就可以了,不会报错了。