我有一些数据,想要删除,首先想到的是delete,但是它会保留之前的标识,后来想用truncate来进行删除,但是,它会全部删除,并且不能加条件,只能回过头使用delete,以下是解决delete删除不保留之前的标识值
![6ba64ae6e79b61db8ba658c7a5a62e55.png](https://i-blog.csdnimg.cn/blog_migrate/687b35d3a13d92b32a1bd6401b9275c0.jpeg)
delete from Emplyoee where EmplyoeeId between 19 and 31
![097937b450252ec13bf11d55a313d824.png](https://i-blog.csdnimg.cn/blog_migrate/db7ece3dad1bee48954383e1a0da8318.jpeg)
DBCC CHECKIDENT ('dbo.Emplyoee',reseed, 7)---标识从8开始insert into Emplyoee values('cc','男','1996-10-01',201,5500,'湖北十堰','中国')insert into Emplyoee values('cc1','男','1996-10-01',201,5500,'湖北十堰','中国')insert into Emplyoee values('cc2','男','1996-10-01',201,5500,'湖北十堰','中国')
select * from Emplyoee
![ce6bc332ac2f63737db548cb33b9d236.png](https://i-blog.csdnimg.cn/blog_migrate/d6d9fd07296411092603b9f0c674ed4a.jpeg)
ok,解决了! DBCC CHECKIDENT ('dbo.Emplyoee',reseed, 0)
DBCC CHECKIDENT :如果存在大量数据删除,考虑在删除后,使用 dbcc checkident 重置一下自增值
是标识从1开始,dbo.Emplyoee 是表名,0这里自定义,如果从4开始,那么就写3,其它都是固定的