日期:2014-05-16  浏览次数:20582 次

让sqlserver数据库的id主键从1开始算起

相信大家都体会,在做一些数据库进行事务操作后,有些时候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)


我就试了第一个方法 的确很好很强大 下面的都没试!