推荐SQL Server 重新恢复自动编号列的序号的sql代码

 更新时间:2007年08月27日 22:50:32   作者:  
在sql server中经常有这样的问题: 
       一个表采用了自动编号的列之后,由于测试了好多数据,自动编号已累计了上万个。现在正是要用这个表了,测试数据已经删了,遗留下来的问题 就是 在录入新的数据,编号只会继续增加,已使用过的但已删除的编号就不能用了, 谁知道如何解决此问题? 

truncate命令不但会清除所有的数据,还会将IDENTITY的SEED的值恢复到原是值。 

而DBCC CHECKIDENT则更加方便一些,可以在不删除数据的情况下指定SEED的值。 
1. truncate table tablename 
2. DBCC CHECKIDENT (tablename,reseed,1) 

相关文章

  • sqlserver数据库中的表、字段sql语句

    sqlserver数据库中的表、字段sql语句

    在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行。
    2010-06-06
  • Sql学习第一天——SQL 练习题(建表/sql语句)

    Sql学习第一天——SQL 练习题(建表/sql语句)

    来自Madrid且订单数少于3的消费者,针对这个要求作出以下:建表 做题分析以及sql语句的写法,感兴趣的朋友可以参考下哈,希望可以帮助到你
    2013-03-03
  • 索引的原理及索引建立的注意事项

    索引的原理及索引建立的注意事项

    聚集索引,数据实际上是按顺序存储的,数据页就在索引页上。就好像参考手册将所有主题按顺序编排一样。一旦找到了所要搜索的数据,就完成了这次搜索,对于非聚集索引,索引是安全独立于数据本身结构的,在索引中找到了寻找的数据,然后通过指针定位到实际的数据
    2012-07-07
  • sqlserver中几种典型的等待

    sqlserver中几种典型的等待

    在最近的几次sqlserver问题的排查中,总结了sqlserver几种典型的等待类型,类似于oracle中的等待事件,如果看到这样的等待类型时候能够迅速定位问题的根源,下面通过一则案例来把这些典型的等待处理方法整理出来
    2016-05-05
  • 使用 SQL 快速删除数百万行数据的实践记录

    使用 SQL 快速删除数百万行数据的实践记录

    在面对需要删除数百万行数据的场景时,使用DELETE操作可能非常耗时且效率低下,一种更有效的方法是通过Create-Table-as-Select (CTAS) 方式处理,即先将要保留的数据通过CTAS保存到新表,然后通过表重命名等操作替换原表,从而快速完成大量数据的删除
    2024-10-10
  • sql查询点滴记录

    sql查询点滴记录

    做.NET有一段时间了,如果说不会sql,那肯定是假的,但是真的掌握吗
    2011-12-12
  • SQL SERVER数据库表记录只保留N天图文教程

    SQL SERVER数据库表记录只保留N天图文教程

    本篇向大家介绍SQL Server 2008 R2数据库中数据表保留10天记录,需要的朋友可以参考下
    2015-09-09
  • 浅谈为什么#{}可以防止SQL注入

    浅谈为什么#{}可以防止SQL注入

    本文主要介绍了浅谈为什么#{}可以防止SQL注入,#{} 匹配的是一个占位符,会对一些敏感字符进行过滤,编译过后会对传递的值加上双引号,因此可以防止 SQL 注入问题,感兴趣的可以来了解一下
    2022-05-05
  • TRUNCATE 快速删除表中的所有数据

    TRUNCATE 快速删除表中的所有数据

    删除表中的所有行,而不记录单个行删除操作。TRUNCATE TABLE 在功能上与没有 WHERE 子句的 DELETE 语句相同;但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少。
    2010-05-05
  • SqlServer中用exec处理sql字符串中含有变量的小例子

    SqlServer中用exec处理sql字符串中含有变量的小例子

    这篇文章主要介绍了用exec处理sql字符串中含有变量的小例子,有需要的朋友可以参考一下
    2013-12-12

最新评论