`

在SQL Server数据库中为标识(IDENTITY)列插入显式值

阅读更多
SQL Server中的标识列和ACCESS中的“自动编号”相似,都是插入记录的时候自动生成,一般不允许也不需要我们去手动修改它。如果我们在标识列中插入值,例如:
insert member(id,username) values(10,'admin')
则在查询分析器里面会返回错误信息:
引用内容
服务器: 消息 544,级别 16,状态 1,行 1
当 IDENTITY_Insert 设置为 OFF 时,不能向表 'member' 中的标识列插入显式值。
而在ASP程序中会返回错误信息:
引用内容
Microsoft OLE DB Provider for SQL Server 错误 '80040e14'
当 IDENTITY_Insert 设置为 OFF 时,不能向表 'member' 中的标识列插入显式值。
test.asp,行 13

但有的情况我们需要手动插入标识列的值,例如删除了一些记录后,标识列并不连续,而我们又想把它补齐。我们利用一个开关可以让愿望变成现实:
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 其实可以省略,因为会话完毕后,这个开关就自动关上了。
本文来自: 脚本之家(www.jb51.net) 详细出处参考:http://www.jb51.net/article/6781.htm
分享到:
评论

相关推荐

    如何查看sql server数据库连接数

    查看 SQL Server 数据库连接数的多种方法 SQL Server 数据库连接数是一个重要的性能指标,它可以帮助数据库管理员了解当前数据库的工作负载和性能。查看数据库连接数有多种方法,本文将介绍四种不同的方法来查看 ...

    向sql server数据库插入中文时显示乱码

    1. **数据库、表和字段的字符集不一致**:如果数据库、表或字段的字符集设置不一致,则可能会导致中文字符在插入数据库时出现问题。 2. **应用程序和数据库之间的字符集不匹配**:如果应用程序和数据库之间的字符集...

    kepserver读取SQL Server数据库

    在设备创建过程中,你需要指定数据类型,例如数值、字符串或布尔值,这些数据类型应该与SQL Server中的列类型相对应。然后,在表中选择要读取的特定列,这些列将成为OPC标签,可以在OPC客户端应用程序中访问。完成...

    SQL Server数据库备份与恢复(C#代码示例)

    在SQL Server数据库管理中,备份和恢复是两个至关重要的操作,它们确保了数据的安全性和可恢复性。在本文中,我们将深入探讨如何使用C#语言来实现这些功能。C#结合SQL Server的API,如SqlClient和Smo,可以方便地...

    Sql Server 数据库超时问题的解决方法

    Sql Server 数据库超时问题是指在使用 Sql Server 数据库时,出现的等待响应时间过长或超时的问题。这种问题可能会导致数据库连接中止、查询失败等问题。 一、Sql Server 等待响应时间 Sql Server 等待响应时间是...

    sql server数据库查看器

    SQL Server数据库查看器是一款专为SQL Server设计的强大而便捷的数据库管理工具,它提供了一种直观的方式来浏览、管理和操作数据库中的数据。对于SQL Server初学者和经验丰富的DBA(数据库管理员)来说,这款软件都...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    1.SQL Server 2014简介.mp4 10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录....

    C++使用ADO连接SQL Server数据库源代码

    当需要在C++程序中与SQL Server数据库交互时,通常会采用ActiveX Data Objects(简称ADO)技术。以下将详细讲解如何使用C++通过ADO连接到SQL Server数据库,并基于提供的"ConnDatabase"源代码进行学习。 1. ADO简介...

    酒店管理系统,连接SQLServer 数据库 C++/Qt

    酒店管理系统,连接SQLServer 数据库 C++/Qt酒店管理系统,连接SQLServer 数据库 C++/Qt酒店管理系统,连接SQLServer 数据库 C++/Qt酒店管理系统,连接SQLServer 数据库 C++/Qt酒店管理系统,连接SQLServer 数据库 ...

    如何使用SQL Server数据库中查询累计值

    "使用 SQL Server 数据库中查询累计值的方法" SQL Server 是一个功能强大且广泛使用的关系数据库管理系统,通过它可以对数据进行高效的存储、管理和查询。在实际应用中,我们经常需要对数据进行累计计算,例如银行...

    navicatepremuim连接sqlserver数据库遇到问题及解决方法

    此外,在使用 Navicat Premium 连接 SQL Server 数据库时,用户需要注意 SQL Server 数据库的版本问题。不同的 SQL Server 数据库版本可能具有不同的连接方式和要求,用户需要根据自己的 SQL Server 数据库版本选择...

    sql server 数据库导入导出方法

    SQL Server 数据库导入导出是数据库管理员和开发者常用的操作,目的是将数据库备份到本地或网络存储设备中,以便在需要时恢复数据库或将数据库迁移到其他服务器上。下面将详细介绍 SQL Server 数据库导入导出的方法...

    SQL SERVER数据库安装程序

    MS SQL SERVER数据库安装程序。如有人修改,希望能将修改后程序EMAIL给我一份,谢谢。

    C# SQL Server数据库操作DLL

    在.NET开发环境中,C#与SQL Server数据库的交互是常见的任务。这个压缩包"**C# SQL Server数据库操作DLL**"提供了一种便捷的方式,通过一个动态链接库(DLL)来处理这些操作,免去了手动编写大量基础数据库访问代码...

    基于Java和SQL Server数据库的简易图书馆管理系统,优秀数据库课设!

    基于Java和SQL Server数据库的简易图书馆管理系统,优秀数据库课设! 基于Java和SQL Server数据库的简易图书馆管理系统,优秀数据库课设! 基于Java和SQL Server数据库的简易图书馆管理系统,优秀数据库课设! 基于...

    sqlsever为标识列指定显式值

    总的来说,当需要为SQL Server的标识列插入特定值时,我们需要先开启`IDENTITY_INSERT`,在插入操作完成后记得关闭它。这是一个在特定场景下进行数据操作的重要技巧,尤其在数据迁移或复制时非常有用。但要注意,不...

    zktime5.0考勤机连接sqlserver数据库,创建及连接方法.pdf

    4. 数据库脚本:sqlserver数据库脚本是一种用于创建和管理数据库的脚本语言,例如可以使用sqlserver.sql文件来创建数据库结构和插入初始数据。 5. 数据库安全:为了保护数据库的安全,需要对数据库进行权限设置、...

    C++操作SqlServer数据库

    本代码使用的默认数据库环境是MS SQL Server, study_bak是从MS SQL Server中BACKUP出来的库文件。 在使用前请先RESTORE到study库中。 如果restore失败,可以用study.sql脚本创建所有表格与视图并自行添加数据。

Global site tag (gtag.js) - Google Analytics