很多时候我们需要重置某个表的自增列,让自增列重新从1开始记数。最蠢的方法当然是把该表删掉再重新建表了。其实,还有其它的方法可以重置自增列的值:

方法一:使用TRUNCATE TABLE语句: TRUNCATE TABLE删除表中的所有行,而不记录单个行删除操作,同时重置自增列。TRUNCATE TABLE 在功能上与没有WHERE子句的DELETE语句相同;但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少。

方法二:使用DBCC CHECKIDENT语句: DBCC CHECKIDENT在 SQL Server 2008 R2 中检查指定表的当前标识值,如有必要,则更改标识值。还可以使用 DBCC CHECKIDENT 为标识列手动设置新的当前标识值。

语法:

DBCC CHECKIDENT (   table_name   [, { NORESEED | { RESEED [,new_reseed_value ] } } ]  )  [ WITH NO_INFOMSGS ]

参数: table_name:是要对其当前标识值进行检查的表名。指定的表必须包含标识列。表名必须符合标识符规则。 NORESEED:指定不应更改当前标识值。 RESEED:指定应该更改当前标识值。 new_reseed_value:用作标识列的当前值的新值。 WITH NO_INFOMSGS:取消显示所有信息性消息。

示例:我们要重置表t1的当前标识值为0,sql如下:

dbcc checkident('t1',reseed,0)

我们要查询表t1的当前标识值,sql如下:

dbcc checkident('t1',noreseed)

本文来源于:http://zzagain.blog.163.com/blog/static/169305628201352694048594/

最新文章

  1. ASP.NET免费服务器~支持MVC和Net4.5
  2. Entity Framework简介
  3. Cache选型的一些思考
  4. GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD)
  5. Action class [userAction] not found
  6. Ubuntu14.04上安装tftpd服务
  7. 客户端HttpClient处理 Servlet Gzip
  8. textwrap——文本包裹和填充模块解析
  9. dreamvc框架(三),dispartcher做了些什么
  10. Inter IPP的一些基本类型对应的vs中类型
  11. ZooKeeper 的安装和配置---单机和集群
  12. java 细说String
  13. 基于WanAndroid开放API实现的文章阅读APP
  14. Appium测试安卓apk遇到的问题及解决方法
  15. iOS TouchID & FaceID
  16. 【Go】go get 自动代理
  17. ApplicationContext 配置里dataSource mysql连接数据源,设置ssl和utf-8
  18. 点击事件target
  19. [javascript]Three parts of javascript code snippet
  20. BFS简单题套路_Codevs 1215 迷宫

热门文章

  1. 关于奇异值分解(SVD)的理解
  2. 【lunux-make: *** 没有规则可以创建目标“install”。 停止。问题】
  3. request.form()和request()的区别
  4. 移动端与H5页面像素的差异与关系
  5. Educational Codeforces Round 52E(构造,快速幂)
  6. KONG 安装 (在 CentOS 7 中)
  7. cf804C(dfs染色)
  8. 关于特殊目录如com null无法删除的处理办法
  9. JSP,EL和JSTL
  10. 消息中间件的研究 (四)RabbitMQ、Kafka、RocketMQ消息中间件的对比及分析