手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >在SQL Server数据库中为标识(IDENTITY)列插入显式值
在SQL Server数据库中为标识(IDENTITY)列插入显式值
摘要:如果我们在标识列中插入值,例如:insertmember(id,username)values(10,'admin')则在查询分析器里面会返...

如果我们在标识列中插入值,例如:

insertmember(id,username)values(10,'admin')

则在查询分析器里面会返回错误信息:

引用内容

服务器:消息544,级别16,状态1,行1

当IDENTITY_Insert设置为OFF时,不能向表'member'中的标识列插入显式值。

而在ASP程序中会返回错误信息:

引用内容

MicrosoftOLEDBProviderforSQLServer错误'80040e14'

当IDENTITY_Insert设置为OFF时,不能向表'member'中的标识列插入显式值。

test.asp,行13

但有的情况我们需要手动插入标识列的值,例如删除了一些记录后,标识列并不连续,而我们又想把它补齐。我们利用一个开关可以让愿望变成现实:

SETIDENTITY_Insert[TableName]ON

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

SETIDENTITY_InsertmemberON

insertmember(id,username)values(1,'admin')

SETIDENTITY_InsertmemberOFF

在ASP页面可以这样写:

con.execute("SETIDENTITY_InsertmemberON"&vbcrlf&"insertmember(id,username)values(2,'abcde')"&vbcrlf&"SETIDENTITY_InsertmemberOFF")

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

【在SQL Server数据库中为标识(IDENTITY)列插入显式值】相关文章:

SQL server 2008 数据库优化常用脚本

SQL server 2005将远程数据库导入到本地的方法

更改SQL Server 2005数据库中tempdb位置的方法

sqlsever为标识列指定显式值

如何在SQL Server 2005数据库中导入SQL Server 2008的数据

SQL Server数据库之数据库列表介绍

SQLServer2005 Output子句获取刚插入的ID值

SQL Server 移动系统数据库

通过SQL Server 2008数据库复制实现数据库同步备份

使用SQL Server 2008远程链接时SQL数据库不成功的解决方法

精品推荐
分类导航