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

时间:2024-01-18 04:03:40 

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

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 其实可以省略,因为会话完毕后,这个开关就自动关上了。

标签:标识,IDENTITY,显式值
0
投稿

猜你喜欢

  • Python字典使用技巧详解

    2021-09-07 23:54:25
  • MySql主从复制实现原理及配置

    2024-01-16 01:37:39
  • php中in_array函数用法探究

    2023-06-21 21:03:54
  • Python subprocess模块学习总结

    2022-04-29 02:17:40
  • Vue组件通信方法案例总结

    2023-07-02 16:51:58
  • Python 切片为什么不会索引越界?

    2022-02-22 19:39:47
  • python如何发送带有附件、正文为HTML的邮件

    2022-05-22 08:15:15
  • 网页设计趋势之:”勾引”用户的按钮

    2009-02-17 12:09:00
  • Django rest framework分页接口实现原理解析

    2023-08-22 21:26:36
  • javascript面向对象编程(二)

    2008-03-07 12:59:00
  • OpenCV-Python实现通用形态学函数

    2022-02-13 18:10:33
  • 教你如何6秒钟往MySQL插入100万条数据的实现

    2024-01-19 02:17:35
  • 在Python的Flask框架下使用sqlalchemy库的简单教程

    2021-02-23 23:58:40
  • asp如何做一个树状展开视图来显示自己的记录结构?

    2010-07-12 18:56:00
  • JS实现弹出下载对话框及常见文件类型的下载

    2024-04-23 09:07:05
  • 解决vue项目input输入框双向绑定数据不实时生效问题

    2024-05-28 15:42:13
  • 利用MySQL空间函数实现位置打卡的完整步骤

    2024-01-28 11:23:32
  • Python 通过爬虫实现GitHub网页的模拟登录的示例代码

    2022-04-27 00:26:39
  • python shell命令行中import多层目录下的模块操作

    2023-08-24 11:28:40
  • 详解python中的hashlib模块的使用

    2022-02-24 17:05:37
  • asp之家 网络编程 m.aspxhome.com