问题描述:
我在SQL数据库表中定义了一个自增列。比如,我输入10条记录。自增列的内容为1到10。但是,我把这10条记录删除后,再次输入10条记录,自增列
的内容就为11到20了。为什么不是再次从1到10呢?
还有就是SQL的表,可以一共保存多少条记录?
还请各位大侠指点!谢谢!
问题解答:
数据库原有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)
一楼说的方法太麻烦了吧。其实也可以这样实现:
第一步,新建一个临时自增列
第二步,删除原来的自增列
第三步,吧新建的子增列重命名成原先的子增列
至于SQLServer的容量,确切的说是受制于你的硬盘大小,一个表放上亿条记录没有问题,不过数据量大的时候执行效率会降低。
是这样的,自增都这样,想从1开始再建一表吧,至于最多记录数,这就要看你用什么数据库了
当你把10条记录删除后 吧自动列的自动也去掉 保存
然后在重新给自动列加上自动
再插入 就是从1开始了