很多时候我们需要重置某个表的自增列,让自增列重新从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/

重置SQLSERVER表的自增列,让自增列重新计数【转】的更多相关文章

  1. 重置SQLSERVER表的自增列,让自增列重新计数

    SQL的自增列挺好用,只是开发过程中一旦删除数据,标识列就不连续了 写起来 也很郁闷,所以查阅了一下标识列重置的方法 发现可以分为三种: --- 删除原表数据,并重置自增列truncate table ...

  2. 重置sqlserver自增长列的种子

    重置sqlserver自增长列的种子 转自:http://hi.baidu.com/zbphot/item/41c55982c2d02dd05e0ec184 如果表中的数据不要了,用下面的语句:  t ...

  3. SqlServer数据库查询表信息/列信息(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述)

    查询表信息(表名/表描述) Value ) AS value FROM sysobjects a Where a.xtype = 'U' AND a.name <> 'sysdiagram ...

  4. SqlServer表数据与excel中数据的互相复制

    一.SqlServer表数据复制到excel 1.新建查询,用sql语句把表数据读出来 2.然后,选择数据,右键,复制(也可以点击连同标题复制),复制到记事本中(不然会乱码) 3.然后再把记事本的内容 ...

  5. SqlServer表和EXCEL数据互相复制方法

    一.SqlServer表数据复制到excel 1.新建查询,用sql语句把表数据读出来 2.然后,选择数据,右键,复制(也可以点击连同标题复制),复制到记事本中(不然会乱码) 3.然后再把记事本的内容 ...

  6. SqlServer表和excel数据批量复制方法

    SqlServer表和excel数据批量复制方法 一.SqlServer表数据复制到excel方法: 1.新建查询,用sql语句把表数据读出来 2.然后,选择数据,右键“复制”(如果需要表字段名称,则 ...

  7. SqlServer表EXCEL数据复制的另一种方法

    一个.SqlServer表中的数据复制到excel 1.新建查询,用sql语句把表数据读出来 2.然后,选择数据,右键.复制(也能够点击连同标题复制),拷贝到记事本中(不然会乱码) 3.然后再把记事本 ...

  8. MySql数据库查询表信息/列信息(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述)

    查询表信息(表名/表描述): SELECT table_name name,TABLE_COMMENT value FROM INFORMATION_SCHEMA.TABLES WHERE table ...

  9. Oracle数据库查询表信息/列信息(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述)

    查询表信息(表名/表描述) Select table_Name As Name,Comments As Value From User_Tab_Comments Where table_Type='T ...

随机推荐

  1. 《鸟哥的Linux私房菜》读书笔记5

    1.shell script 用在系统管理上面是很好的一项工具,但是用在处理大量数值运算上, 就不够好了; 2.shell script 其实就是纯文字文件 (ASCII) ,我们可以编辑这个档案, ...

  2. 【mysql 的 union 和unionall】

    Mysql的联合查询命令UNION和UNION ALL,总结了使用语法和注意事项,以及学习例子和项目例子,需要的朋友可以参考下 一.UNION和UNION ALL的作用和语法 UNION 用于合... ...

  3. sql server 2008 r2安装

    选择功能(好像报错了-下次重装系统测试)

  4. Spring MVC 简述:从MVC框架普遍关注的问题说起

    任何一个完备的MVC框架都需要解决Web开发过程中的一些共性的问题,比如请求的收集与分发.数据前后台流转与转换,当前最流行的SpringMVC和Struts2也不例外.本文首先概述MVC模式的分层思想 ...

  5. 问题 Can't load AMD 64-bit .dll on a IA 32-bit platform

    问题简要描述: java.lang.UnsatisfiedLinkError: F:\Tools\tomcat6045\tomcat6.0.45_x64\apache-tomcat-6.0.45\bi ...

  6. CPU使用情况检测

    改编自:https://blog.csdn.net/Yan_Chou/article/details/80456995 检测命令整理: dd iotop df top psiostatvmstatne ...

  7. input[checkbox],input[radiobox]的一些问题

    复选框和文字对不齐:checkbox复选框的一些深入研究与理解: 解决方案:复选框或单选框与文字对齐的问题的深入研究与一 实例:实例.

  8. Leetcode初级算法(排序和搜索+数学篇)

    合并两个有序数组 开始的时候将这道题理解错了,发现几个奇怪的测试案例后才明白这道题什么意思.本来的想法就是把nums2全部放到num1里面,然后删除重复元素.排序一下,就有了下面的代码: class ...

  9. Appium + Python自动化3 - 输入中文

    在做app自动化过程中会踩很多坑,咱们都是用中文的app,所以首先要解决中文输入的问题!本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题. 一.定位搜索 1.打开淘宝点击搜索按钮,进入搜索页 ...

  10. Java多线程与并发——进程与线程

    1.什么是进程 程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念.而进程是程序在处理机上的一次执行过程,它是一个动态的概念. 进程是一个具有一定独立功能的程序,一个实体,每一个进 ...