当前位置:编程学习 > C#/ASP.NET >>

SQL2005的一个数据自动增长问题

    SQl2005数据库,建了一张表,ID列标识种子设为1,增量也设为1,但是往里面添加数据后,却是从10开始,到了第三列居然是自动设为15.。。。这是怎么一回事啊? --------------------编程问答-------------------- 不是吧......发sql 看看 --------------------编程问答-------------------- 有几种情况
1.增量设错了
2.前面有插入失败的情况.你如果插入数据时失败了,那ID还是会自增的.ID为10的记录后你又执行了4插入操作,但都失败了,那第五次插入成功的话这条数据的ID就是15了 --------------------编程问答-------------------- --------------------编程问答-------------------- 2楼的朋友,ID为10的情况是我从数据库里直接往里添加数据时出现的,这样说的话也许前面的是因为我通过代码往里插入数据时失败的原因引起的,是这样吗?
那我如果想清楚表里所有的数据应该怎么做? --------------------编程问答-------------------- select * from [table名] 不就是所有数据都出来了吗?? --------------------编程问答-------------------- 2楼说的情况是很有可能的。  --------------------编程问答--------------------
引用 4 楼 Jmocun 的回复:
2楼的朋友,ID为10的情况是我从数据库里直接往里添加数据时出现的,这样说的话也许前面的是因为我通过代码往里插入数据时失败的原因引起的,是这样吗? 
那我如果想清楚表里所有的数据应该怎么做?


delete from 表名 删除表内数据,但自动增长列仍然保留

truncate table 表名  删除表内所有数据,而且重置自动增长列

你可以根据需要选择删除操作命令 --------------------编程问答-------------------- 赞同2楼,建议修改一下插入语句
清空表,从新插入 --------------------编程问答--------------------
引用 7 楼 babyfacechris 的回复:
引用 4 楼 Jmocun 的回复:
2楼的朋友,ID为10的情况是我从数据库里直接往里添加数据时出现的,这样说的话也许前面的是因为我通过代码往里插入数据时失败的原因引起的,是这样吗? 
那我如果想清楚表里所有的数据应该怎么做? 
 

delete from 表名 删除表内数据,但自动增长列仍然保留 

truncate table 表名  删除表内所有数据,而且重置自动增长列 

你可以根据需要选择删除操作命令

没错咯,简单的方法就是修改表,将自增字段该为非自增的,保存下,删除表内的数据再改回来. --------------------编程问答-------------------- 你把之前插入的一些删了就会出现这样的情况 --------------------编程问答-------------------- TRUNCATE TABLE 会重置标识
谢谢babyfacechris 的提醒,之前都没注意到
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,