SQL server 自增ID--序号自动增加的字段操作_MsSql

来源:脚本之家  责任编辑:小易  

SqlServer中的自增的ID的最后的值:SELECT SCOPE_IDENTITY() --返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。SELECT @@IDENTITY --返回插入到当前会话中任何作用域内的最后一个 IDENTITY 列值SELECT IDENT_CURRENT('TbName')--不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。对于马上使用的刚才插入的新记录ID用SCOPE_IDENTITY()是最合适的;对于想要得到一系列的操作中最后得到的那个自增的ID最好用@@IDENTITY;对于想要得到一个表中的最后一个插入操作所产生的ID的最好用IDENT_CURRENT('TBName')DECLARE @TMP_ID INT SET @TMP_ID = IDENT_CURRENT('BID_EvaluateItem') IF ((@TMP_ID IS NOT NULL) AND (@TMP_ID >0)) BEGIN --其它的操作www.zgxue.com防采集请勿采集本网。

1、SQL server中创建表,带有自增列。

如果你的ID列没有其他主外键关系的话 你可以把ID列删除,然后重新建ID列并设置为标识列自增 它会自动填补序列

create table Test_Table(Id int Identity(1,1), Name varchar(20));

自增列没有最大值这一说法,只有数据类型有最大值这一说法。 比如smallint,int,bigint, bigint -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) int -2^3

这里用到了IDENTITY 关键字。IDENTITY(a,b),a b均为正整数,a表示开始数,b表示步长。

自增列不能直接修改,必须将原有ID列删除,然后重新添加一列具有identity属性的ID字段。比如你要修改的字段名为ID: alter table 表名 drop column ID alter table 表名 add ID

IDENTITY(1,1)就代表从1开始,每次增加1。

用计算列或用函数或触发器 如: Create table test(ID int identity(1,1),Code as 'BH'+right(1000000+ID,5),Cid int)

现在插入两条数据:

展开全部 SqlServer中的自增的ID的最后的值: SELECT SCOPE_IDENTITY() --返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。 SELECT @@IDENTITY --返

insert into Test_Table(Name) values ('Mr.Tom');

将ID删除,重新新增一个

insert into Test_Table(Name) values ('Mr.Jackson');

这个是不可以的,几乎每一个数据库引擎都是按照这样一个模式进行序号的递增的。如果你要强制进行修改的话,不要将ID设为自增,而是创建一个出发器,在删除之后执行,对ID重

查询结果:

和数据类型有关, bigint -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 8 字节 int -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) 4 字节

补充知识:SQL SERVER——给已有数据的表增加自增字段。

有三个方法,一般是使用SCOPE_IDENTITY 。具体根据你的需要进行选择。 @@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 是相似的函数,返回插入到表的 IDENT

问题描述:我有一个已存在数据的表,现在需要增加一个ID列,并设置为自增长。

有个函数 scope_identity()。 SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY 是相似的函数。 IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。 ID

我添加ID列之后,需要从1开始递增把已有的数据行的ID字段填充,才可以设置为自增长的主键。

比方说,你要创建一个表user_info,设置的主键名称是user_id,那么可以如下设置: create table user_info (user_id int primary key identity(1,1),//主键初值为1,每次自增1,数值可变化

不说了,上SQL语句块

t top 3 * from (t top 5 * from tb order by id) aa order by id desc; --结果 5 4 3

DECLARE @i intSET @i=0UPDATE table1 SET @i=@i+1,ID=@i

不是所有字段类型都可以设置自增的 SQLServer 中含自增主键的表,通常不能直接指定ID值插入,可以采用以下方法插入。 1. SQLServer 自增主键创建语法: identity(seed, incre

当然,用游标也是可以的,那就有些大材小用了。

以上这篇SQL server 自增ID--序号自动增加的字段操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持真格学网。 您可能感兴趣的文章:SQL Server中identity(自增)的用法详解SqlServer生成连续数字根据指定的数字操作SQL Server 开窗函数 Over()代替游标的使用详解SQL Server中row_number函数的常见用法示例详解SQL Server如何通过创建临时表遍历更新数据详解SQL Server 使用join all优化 or 查询速度

SqlServer中的自增的ID的最后的值:SELECT SCOPE_IDENTITY() --返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。SELECT @@IDENTITY --返回插入到当前会话中任何作用域内的最后一个 IDENTITY 列值SELECT IDENT_CURRENT('TbName')--不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。对于马上使用的刚才插入的新记录ID用SCOPE_IDENTITY()是最合适的;对于想要得到一系列的操作中最后得到的那个自增的ID最好用@@IDENTITY;对于想要得到一个表中的最后一个插入操作所产生的ID的最好用IDENT_CURRENT('TBName')DECLARE @TMP_ID INT SET @TMP_ID = IDENT_CURRENT('BID_EvaluateItem') IF ((@TMP_ID IS NOT NULL) AND (@TMP_ID >0)) BEGIN --其它的操作 END内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • sql server中check约束的学习教程
  • sqlserver恢复表级数据详解
  • sql server通过重建方式还原master数据库
  • delete from 表名与truncate table 表名区别
  • 监控 log文件大小的存储过程
  • sqlserver 数据库连接字符串中的可选项收集
  • sqlserver生成连续数字根据指定的数字操作
  • sql2000各个版本区别总结
  • sqlserver清除完全重复的数据只保留重复数据中的第一条
  • sql server 数据页缓冲区的内存瓶颈分析
  • 如何得到SqlServer的自增ID
  • 如何得到SqlServer的自增ID
  • sql server 自增id不连续,可能是什么原因
  • sqlserver自增列id最大值是多少?如果达到最大值,系统将如何处...
  • sql server 2005 ID为不可自增,非标识的, 如何重新规划已有数据...
  • sqlserver 自增列ID最大值是多少?如果达到最大值,系统将如何处...
  • sqlserver2005 将字段设置为自增
  • sqlserver2005数据库 给表自增列如何创建带标识的自增ID
  • sql server怎么获取自增的id值
  • 怎样清空SQL SERVER数据库,清空后让表的ID自增列从1开始...
  • sqlserver:设置了ID主键,标签,自增1之后原来是1,2,3,4的顺序是...
  • sqlserver 自增列ID最大值是多少
  • 如何得到SqlServer的自增ID
  • 如何得到SqlServer的自增ID
  • sql server 2005中怎么把主键设置为自增
  • sql server 中id不自增 如何查3至5条记录
  • sql server建表时设置ID字段自增的简单方法
  • 如何在SqlServer2000中设数据表ID字段为自增
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页sql server中identity(自增)的用法详解sqlserver生成连续数字根据指定的数字操作sql server 开窗函数 over()代替游标的使用详解sql server中row_number函数的常见用法示例详解sql server如何通过创建临时表遍历更新数据详解sql server 使用join all优化 or 查询速度sql server中check约束的学习教程sqlserver恢复表级数据详解sql server通过重建方式还原master数据库delete from 表名与truncate table 表名区别监控 log文件大小的存储过程sqlserver 数据库连接字符串中的可选项收集sqlserver生成连续数字根据指定的数字操作sql2000各个版本区别总结sqlserver清除完全重复的数据只保留重复数据中的第一条sql server 数据页缓冲区的内存瓶颈分析sql server 2012 安装图解教程(附sql server数据库入门学习总结microsoft sql server 2012 数据win7系统安装sqlserver2000的详细sql重复记录查询的几种方法sqlserver中distinct的用法(不重sql server错误代码大全及解释(sql-order by 多字段排序(升序、sql将一个表中的数据插入到另一个用sql语句添加删除修改字段、一些mssql数据库排序规则如何更改使用bulk insert大批量导入数据 sqlservesqlserverdriver配置方法 jdbc连接sqlser高效的sqlserver分页查询(推荐)sqlserver自动增长列引起的问题解决方法游标删除多个表里脏数据的方法sql server数据库的修复sql语句关于数据库优化问题收集汇总sql条件查询语句的简单实例mssql批量插入数据优化详细
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved