日期:2014-05-16 浏览次数:20582 次
相信大家都体会,在做一些数据库进行事务操作后,有些时候sqlserver的id删除了就删除了,而不是从1开始了,给部分程序造成了一定的麻烦,下面是一些解决的办法:
? 数据库原有ID字段,是自增列的,后来把数据全删除后,想让ID自增列从1开始算起
方法1:
1.dbcc checkident('test',reseed,0) ///DXJ: 很牛!!
2.insert into test values(55)
select * from test
显示结果:
id msum
1 55
方法2:
SET IDENTITY_INSERT
允许将显式值插入表的标识列中。
语法:
SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }
set identity_insert dbo.test on
test是表名
注意:
运用set identity_insert dbo.test on后,insert into时,必须要把需要插入记录的字段写上,如:
insert into test(id,msum)values(1,55)
insert into test(id,msum)values(2,55)
下面的语句的写法是错误的:
insert into test values(55)
insert into test values(1,55)
保持列名不变很简单啊,删除原来那列,加上一个自增列,名字和原来一样即可:
Alter table talbeName Drop Column ColumnName
Alter table talbeName Add ColumnName Int IDENTITY(1,1)
我就试了第一个方法 的确很好很强大 下面的都没试!