SQL Server 插入数据时自增长列如何指定数值
2024-08-29 00:29:52
SQL Server 表在导入数据时,有时需要将自增长列指定数值,来保证导入前后的数据完全一致,如何实现?
SQL Server 提供了方法:
SET IDENTITY_INSERT,允许将显式值插入表的标识列中。
参考文档:SET IDENTITY_INSERT | Miscosoft Docs
语法:
SET IDENTITY_INSERT [ database_name . [ schema_name] . ] table { ON | OFF }
用法:
-- SET IDENTITY_INSERT to ON.
SET IDENTITY_INSERT dbo.Tool ON
GO -- Try to insert an explicit ID value of 3.
INSERT INTO dbo.Tool (ID, Name) VALUES (3, 'Garden shovel')
GO -- SET IDENTITY_INSERT to OFF.
SET IDENTITY_INSERT dbo.Tool OFF
GO
注意事项:
- INSERT INTO语句必须输入列名,否则执行时会报错“仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表‘Tool’中的标识列指定显式值”。
- 一个会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON,在设置为ON、插入数据后,还需要设置该表 IDENTITY_INSERT为 OFF。
最新文章
- 無間道III 終極無間
- Mac下安装与配置Go语言开发环境
- mmysql-最大链接数和最大并发数的区别
- 对Java垃圾回收最大的误解是什么
- 014医疗项目-模块一:删除用户的功能l
- 能源项目xml文件标签释义--<;context:component-scan>;
- 【po3693】Maximum repetition substring
- Windows7 QT5.6.0(64位)使用mysql(64位)环境搭建详解
- zookeeper集群挂了,提示
- 应该知道的Linux技巧
- ios 仿新浪微博 UINavigationController 向左滑动时显示上一个控制器的View.
- Linux运维人员共用root帐户权限审计(转至马哥Linux运维)
- 38.QT-QAxObject快速写入EXCEL示例
- es6对象的扩展
- 使用Jenkins构建、部署spring boot项目
- Spring Cloud(十二)声名式服务调用:Feign 的使用(下)
- Java 清除指定目录文件夹下文件
- gcd的性质+分块 Bzoj 4028
- Python 学习笔记(七)Python字符串(三)
- Go基础篇【第1篇】: 内置库模块 OS