truncate table 表名
这样自增列id的值就会恢复到初始值

解决方案 »

  1.   


    按你的方法可以清空数据+恢复id到初始值,但是如果我这个表的数据不能清空,只是单纯把id值从1开始递增呢?有位高手教我删除id键再新建一个,但是如第一楼的我建不了,是为什么呢?
      

  2.   


    谢谢你提供思路!但是这个表结构太复杂了,有160多个键,重建一个很痛苦呀!
    请问你知道为什么我重建id这列不成功吗?
    你先select * into 临时表 from 你的表不就行了
      

  3.   


    按你的方法可以清空数据+恢复id到初始值,但是如果我这个表的数据不能清空,只是单纯把id值从1开始递增呢?有位高手教我删除id键再新建一个,但是如第一楼的我建不了,是为什么呢?
    如果不需要刪除表中數據的話,還是建議刪除id列,再新增一個自增列id。
      

  4.   

    create as select 来创建一个新表算了。
      

  5.   


    按你的方法可以清空数据+恢复id到初始值,但是如果我这个表的数据不能清空,只是单纯把id值从1开始递增呢?有位高手教我删除id键再新建一个,但是如第一楼的我建不了,是为什么呢?dbcc checkident (tablename,reseed,0) 这个把当前的自增列设置为0,你下次插入数据就成1 了。然后自增。
      

  6.   

    数据不清除id就会重复!
    又要保留数据又要重置id,无效的需求啊!
    所以用 TRUNCATE TABLE 没错的。
      

  7.   


    按你的方法可以清空数据+恢复id到初始值,但是如果我这个表的数据不能清空,只是单纯把id值从1开始递增呢?有位高手教我删除id键再新建一个,但是如第一楼的我建不了,是为什么呢?dbcc checkident (tablename,reseed,0) 这个把当前的自增列设置为0,你下次插入数据就成1 了。然后自增。不明觉厉
      

  8.   


    谢谢你提供思路!但是这个表结构太复杂了,有160多个键,重建一个很痛苦呀!
    请问你知道为什么我重建id这列不成功吗?
    你先select * into 临时表 from 你的表不就行了但是增加了新的列之后,设置不会之前的那个样子了。没办法勾选ident,seed incr也填不进任何数字原来是这样的: