重置sqlserver自增长列的种子

转自:http://hi.baidu.com/zbphot/item/41c55982c2d02dd05e0ec184

如果表中的数据不要了,用下面的语句:  truncate table表

如果表中的语句还要,用下面的语句:  DBCC CHECKIDENT (表名, RESEED, 1)

DBCC CHECKIDENT ('table_name', NORESEED) 不重置当前标识值。

DBCC CHECKIDENT 返回一个报表,它指明当前标识值和应有的标识值。

DBCC CHECKIDENT ('table_name')或DBCC CHECKIDENT ('table_name', RESEED)  如果表的当前标识值小于列中存储的最大标识值,则使用标识列中的最大值对其进行重置。

DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value)  当前值设置为 new_reseed_value。 如果自创建表后没有将行插入该表,则在执行  DBCC CHECKIDENT 后插入的第一行将使用 new_reseed_value 作为标识。 否则,下一个插入的行将使用 new_reseed_value + 1。 如果 new_reseed_value 的值小于标识列中的最大值, 以后引用该表时将产生 2627 号错误信息。

如果表中的语句还要,用下面的语句:

DBCC CHECKIDENT (表名, RESEED, 1)

DBCC CHECKIDENT ('table_name', NORESEED) 不重置当前标识值。

DBCC CHECKIDENT 返回一个报表,它指明当前标识值和应有的标识值。

DBCC CHECKIDENT ('table_name')或DBCC CHECKIDENT ('table_name', RESEED)  如果表的当前标识值小于列中存储的最大标识值,则使用标识列中的最大值对其进行重置。  DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value)  当前值设置为 new_reseed_value,一般new_reseed_value是当前最大的ID值。 如果自创建表后没有将行插入该表,则在执行  DBCC CHECKIDENT 后插入的第一行将使用 new_reseed_value 作为标识。 否则,下一个插入的行将使用 new_reseed_value + 1。 如果 new_reseed_value 的值小于标识列中的最大值, 以后引用该表时将产生 主键冲突的错误

重置sqlserver自增长列的种子的更多相关文章

  1. SQLite Expert 删除表数据并重置自动增长列

    用下面的语句肯定是行不通的,语句不支持 truncate table t_Records 方法:1.删除表数据 2.重置自动增长列 where name='t_Records' /*name :是表名 ...

  2. Sql 重置自动增长列

    Sql 重置自动增长列: dbcc checkident(表名, reseed, 0) 使用的情况,一般出现在主外键关联表,导致无法 truncate 只能delete的情况. 此时我们可能会需要重置 ...

  3. SELECT IDENT_CURRENT(tableName)和自增长列的纠结

    项目中要用到一个功能:主表主键为自增长,要求在插入主表数据前先获得主表要插入数据的主键ID值,用在插入子表时获取主键ID.在网上搜了一下,发现SELECT IDENT_CURRENT(TableNam ...

  4. 使用sql语句创建修改SQL Server标识列(即自动增长列)

    一.标识列的定义以及特点SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点:1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统 ...

  5. Oracle 给已创建的表增加自增长列

    对于已经创建的表,在特殊需求下,需要增加一个自增长列步骤: --1. 增加 自增长列 ); --2. 程序方式更新设置 IdNum 列 值 --3.查询最大 ) From Limsbusinessen ...

  6. SQL Server 主键及自增长列的修改

    一.对主键的修改 主键值都会带有主键约束,当执行update操作或是其他操作的时候就会受到限制无法修改,解决的方法是:取消主键约束->删掉主键列->插入修改后的主键值. (1)取消主键约束 ...

  7. 数据库:SQL Server自增长列的编号

    SQL Server表中的自动编号ID重新开始排列 说法一: 有两种方法: 方法1: truncate table 你的表名 --这样不但将数据删除,而且可以重新置位identity属性的字段. 方法 ...

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

    介绍 从 SQL Server 2012 版本开始, 当SQL Server 实例重启之后,表格的自动增长列的值会发生跳跃,而具体的跳跃值的大小是根据增长列的数据类型而定的.如果数据类型是 整型(in ...

  9. 关于plsql表如何创建自增长列

    1首先在sequence中创建新序列 在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方. 这是语句创建 create sequence ide ...

随机推荐

  1. 比较两个slice、struct或者map是否相等

    我们可以直接使用reflect.DeepEqual来比较两个slice.struct或者map是否相等 package main import ( "fmt" "refl ...

  2. Storm入门(三)HelloWorld示例

    一.配置开发环境 storm有两种操作模式: 本地模式和远程模式.使用本地模式的时候,你可以在你的本地机器上开发测试你的topology, 一切都在你的本地机器上模拟出来; 用远程模式的时候你提交的t ...

  3. day 17-18 常用模块

    time:时间 '''时间戳(timestamp):time.time()延迟线程的运行:time.sleep(secs)(指定时间戳下的)当前时区时间:time.localtime([secs])( ...

  4. leetcode 224. Basic Calculator 、227. Basic Calculator II

    这种题都要设置一个符号位的变量 224. Basic Calculator 设置数值和符号两个变量,遇到左括号将数值和符号加进栈中 class Solution { public: int calcu ...

  5. volatile分析

    volatile三大特性: 1. 内存可见性 2.不保证原子性 3. 禁止重排序内存屏障的概念:memory barrier是一个CPU指令.指令逻辑:a.确保一些特定操作执行顺序 b.影响一些数据的 ...

  6. 图表插件Highcharts的动态化赋值,实现图表数据的动态化设置显示

    在很早之前就介绍过图表插件Highcharts的使用了,在2014年的随笔<基于MVC4+EasyUI的Web开发框架经验总结(4)--使用图表控件Highcharts>,这里基本上都介绍 ...

  7. Eruda 一个被人遗忘的移动端调试神器

    引言 ​ 日常工作中再牛逼的大佬都不敢说自己的代码是完全没有问题的,既然有问题,那就也就有调试,说到调试工具,大家可能对于fiddler.Charles.chrome devtools.Firebug ...

  8. Ubuntu下解压压缩文件

    1.ZIP解压    ZIP因为它的跨平台使用优点,是目前使用率最高的一种压缩方式,但是它的压缩率相比较tar.gz和tar.gz2来讲,却要低很多.    压缩命令:zip -r archive_n ...

  9. params.success && params.success(res.data)

    params.success && params.success(res.data)   只有success 为真,才执行后边的代码

  10. iOS Button添加阴影 和 圆角

    用iamgeview 加手势代替 self.headimageview = [[UIImageView alloc] initWithFrame:CGRectMake(IPHONEWIDTH(13), ...