一、问题现象
仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'xxx'中的标识列指定显式值。
二、原因解析
如果想要给标识列显示的添加数据,需要设置标识列可以显示添加数据。
三、解决方法
可以使用如下的方法:
set identity_insert Table_Name on--设置标识列可以显示添加数据
insert into Table_Name(PCId,PCUse,PCNote) values(100,1,'aaa')
set identity_insert Table_Name off--设置标识列不可以显示添加数据
四、总结
注意1:
要想显示的为某表的标识列显示添加数据,在insert语句中一定要在表后面显示要添加的字段,即使是所有字段,也不能省略。
如:PCInfo(PCId,PCUse,PCNote),如果只写PCInfo仍然不能为PCId显示的添加数据。
注意2:插入完数据要将identity_insert设置为OFF。
若不关闭,则再次添加数据时,无法自增长,提示错误信息:
当IDENTITY_INSERT 设置为ON 或某个复制用户向NOT FOR REPLICATION标识列中插入内容时,必须为表'login'中的标识列指定显式值。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30776559/viewspace-2150276/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30776559/viewspace-2150276/