0
点赞
收藏
分享

微信扫一扫

解决SET IDENTITY_INSERT为OFF时不能将显式值插入表的标识列中异常问题

解决SET IDENTITY_INSERT为OFF时不能将显式值插入表的标识列中异常问题_server数据库

文章主要描述的是SQL Server数据库中使用率比较高的identity列,我们大家都知道在SQL Server数据库中,经常会对Identity标识列进行使用,在实际操作中这种自增长的字段操作起来的确是比较方便。但它有时还会带来一些麻烦。比如:SET IDENTITY_INSERT为OFF时不能将显式值插入表的标识列中异常问题

允许将显式值插入表的标识列中,当设置为ON时,这时可能在INSERT操作时手工指定插入到标识列中的编号,同时必须在操作完成后,将IDENTITY_INSERT还原成OFF,否则下次插入的时候必须指定编号,那不然就无法完成INSERT操作。

不需要自动增长的解决方法:

SET IDENTITY_Insert [TableName] ON


在查询分析器里面这样写:


SET IDENTITY_Insert member ON

insert member(id,username) values(1,'admin')

SET IDENTITY_Insert member OFF


在ASP页面可以这样写:


con.execute("SET IDENTITY_Insert member ON" & vbcrlf & "insert member(id,username) values(2,'abcde')" & vbcrlf & "SET IDENTITY_Insert member OFF")


使用该方法应该保证标识列没有插入重复数据,要不然会返回错误,插入操作不会进行。SET IDENTITY_Insert [TableName] OFF 其实可以省略,因为会话完毕后,这个开关就自动关上了。

注:member为表名


举报

相关推荐

0 条评论