SQL Server手工插入标识列的方法

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

复制代码 代码如下:
insert member(id,username) values(10,'admin')

则在查询分析器里面会返回错误信息:
[plain]
 引用内容  
服务器: 消息 544,级别 16,状态 1,行 1  
当 IDENTITY_Insert 设置为 OFF 时,不能向表 'member' 中的标识列插入显式值。  
有的情况我们需要手动插入标识列的值,例如删除了一些记录后,标识列并不连续,而我们又想把它补齐。我们利用一个开关可以让愿望变成现实:
复制代码 代码如下:
SET IDENTITY_Insert [TableName] ON

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

复制代码 代码如下:
SET IDENTITY_Insert member ON  
insert member(id,username) values(1,'admin')   
SET IDENTITY_Insert member OFF

时间: 2023-01-01

SQL Server手工插入标识列的方法的相关文章

SQL Server手工插入标识列的方法_MsSql

如果我们在标识列中插入值,例如: 复制代码 代码如下: insert member(id,username) values(10,'admin')   则在查询分析器里面会返回错误信息: [plain]  引用内容   服务器: 消息 544,级别 16,状态 1,行 1   当 IDENTITY_Insert 设置为 OFF 时,不能向表 'member' 中的标识列插入显式值.   有的情况我们需要手动插入标识列的值,例如删除了一些记录后,标识列并不连续,而我们又想把它补齐.我们利用一个开关

漫谈SQL Server中的标识列(一)

server 漫谈SQL Server中的标识列(一) 一.标识列的定义以及特点 SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点: 1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值3.列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列. 由于以上特点,使得标识列在数据库的设计中得到广泛的使用. 二.标识列的组成创建一个标识列,通常要指定三个内容:1.类型(type)在SQL Ser

SQL Server 重置Identity标识列的值(INT爆了)

原文 http://www.cnblogs.com/gaizai/archive/2013/04/23/3038318.html SQL Server 重置Identity标识列的值(INT爆了) 2013-04-23 17:45 by 听风吹雨, 1146 阅读, 16 评论, 收藏, 编辑 一.背景 SQL Server数据库中表A中Id字段的定义是:[Id] [int] IDENTITY(1,1),随着数据的不断增长,Id值已经接近2147483647(int的取值范围为:-2 147 4

数据库-sql server新插入一列报错

问题描述 sql server新插入一列报错 sqlserver数据库想在一列后面新加一列 alter table Factors_copy Add EPIBS DECIMAL(18,5) AFTER ETP5 总是会报错 [Err] 42000 - [SQL Server]'AFTER' 附近有语法错误. 是不是sqlserver不支持这么写呢 急,请问该怎么解决 解决方案 sql server的语法 ALTER TABLE 表名 add 字段 数据类型 其他约束 示例 ALETER TABL

漫谈SQL Server中的标识列(二)

server 这篇文章主要总结一下标识列在复制中的处理方法 1.快照复制   在快照复制中,通常无须考虑标识列的属性. 2.事务复制   举例:   发布数据库A,订阅数据库B,出版物为T_test_A,订阅表为T_test_B   CREATE TABLE T_test_A (ID int IDENTITY(1,1),  Name varchar(50) )   CREATE TABLE T_test_B (ID int IDENTITY(1,1),  Name varchar(50) )  

server数据库-SQL查询添加临时标识列

问题描述 SQL查询添加临时标识列 在做一个排行查询,但是数据没有标识列,所以想在查询的时候加一条临时的标识列,该怎么写sql语句呢? 解决方案 为查询结果添加一个标识列 解决方案二: MYSQLhttp://blog.csdn.net/ijong/article/details/7068265 SQL_SERVERhttp://www.2cto.com/database/201205/132643.html

SQL Server 2008的升级与部署方法和常见问题

SQL Server 2008的升级与部署方法和常见问题: Q:现在我所在的公司正在使用SQL 2005这个版本,那么SQL 从05升级到SQL 08的PDS(数据保护系统)过程中,我们最好选择什么方法呢?那么在升级到SQL 08后,SSIS(生成高性能数据集成解决方案平台)会不会有所提高呢? A:其实从SQL 2000里面的DPS升级到SQL 2005里面的DPS升级是一样的,我们推荐的方法仍然是重写,因为SQL 2005跟SQL 2008的引擎基本上类似.但是这两个版本跟SQL 2000完全

SQL Server 2012 自动增长列,值跳跃问题

原文:SQL Server 2012 自动增长列,值跳跃问题   介绍 从 SQL Server 2012 版本开始, 当SQL Server 实例重启之后,表格的自动增长列的值会发生跳跃,而具体的跳跃值的大小是根据增长列的数据类型而定的.如果数据类型是 整型(int),那么跳跃值为 1000:如果数据类型为 长整型(bigint),那么跳跃值为 10000.从我们的项目来看,这种跳跃问题是不能被接受的,尤其是展示在客户端的时候.这个奇怪的问题只在 SQL Server 2012 及更高的版本中

SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)

原文:SQL Server 动态行转列(参数化表名.分组列.行转列字段.字段值) 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段: 方法二:使用拼接SQL,动态列字段: 方法三:使用PIVOT关系运算符,静态列字段: 方法四:使用PIVOT关系运算符,动态列字段: 扩展阅读一:参数化表名.分组列.行转列字段.字段值: 扩展阅读二:在前面的基础上加入条件过滤: 参考文献(R