社区
MS-SQL Server
帖子详情
一个自增型字段,为何出现自增间断的问题?
浩子
2006-05-29 07:44:15
如题,我这个自增字段出现这样的怪情况,205,206,207,208,215,216,中间少了几个数据,这是为什么?
...全文
247
16
打赏
收藏
一个自增型字段,为何出现自增间断的问题?
如题,我这个自增字段出现这样的怪情况,205,206,207,208,215,216,中间少了几个数据,这是为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
celerylhl
2006-06-15
打赏
举报
回复
这个没关系的,什么都不影响
浩子
2006-06-15
打赏
举报
回复
哦,明白了,谢谢兄弟们~!
ncxinyastra
2006-05-30
打赏
举报
回复
欢迎加入网络技术才团
本群是计算机网络爱好者的天堂,群里聚集全国各地的网络知识分子,有各种网络知识层次的朋友。
同时,本群也是网工学习心得,做人经验,人生向往交流的一个平台{才团总目标,组建全国最大的网络联盟。
我们群存群存在的意义是把网络中各高手集合一起来学习、讨论和提高}
总团号18245610(以满),[华东区]号18366858(以满),推荐加入[华南区]号13451628,
沉迷游戏者、无理想者,沉默寡言者、无上进者,不勤学好问者不得入内。
liangpei2008
2006-05-30
打赏
举报
回复
同意楼上!
标识列不连续有3种情况:
1.事务回滚--这种情况最可能是你的问题
如果在插入数据时,回滚事务,系统记录了插入失败时的ID,再插入记录时,系统会用失败时的ID+1来形成下一条记录的ID,所以造成不连续。
2.删除记录
3.用DBCC CHECKIDENT重置标识列
yesyesyes
2006-05-30
打赏
举报
回复
有自增列的表当插入失败时,会消耗一个id的,你试一下就知道了
玩不够
2006-05-29
打赏
举报
回复
多个任务同时插入时就会出现
hellowork
2006-05-29
打赏
举报
回复
如果确信没有删除记录的操作,则应该是在插入记录的事务中进行了回滚操作,回滚后导致事务中插入生成的Identity列的值被自动删除。例如:
BEGIN TRANSACTION
INSERT ... /*此插入语句生成了Identity = 209……214 */
IF @@ERROR > 0 /*在生成Identity = 214之后发生了错误 */
ROLLBACK /* 事务回滚,本事务中已经生成的Identity = 209……214被删除,下一个INSERT事务开始时Identity从215开始。*/
ELSE
COMMIT
lxzm1001
2006-05-29
打赏
举报
回复
Set Identity_Insert 表名 on
Insert into 表名(ID,..) select 1,.....
Set Identity_Insert 表名 off
liangpei2008
2006-05-29
打赏
举报
回复
Set Identity Insert 表名 on
Insert into 表名(ID,..) select 1,.....
Set Identity Insert 表名 off
hxd001_810
2006-05-29
打赏
举报
回复
像你的这种情况,最有的可能就是:你或者他人(包括非法用户)善意或恶意地删除了表的某些记录行;
然后就是有下面的可能:授权用户或者非授权用户善意或者恶意地,曾经在ID=208处临时地将SET INSERT_IDENTITY选项设置为True而后又插入数据。
yaoyaomaomao
2006-05-29
打赏
举报
回复
liangpei2008(我爱世界杯)
如何强行插入到自增类型的字段中?
浩子
2006-05-29
打赏
举报
回复
也没有这样执行过,我现在提供的这个添加功能,完全一致,而且绝对没有带删除功能,真是奇怪...,我以前从没有发现过,今天客户给我反映我才注意到,
liangpei2008
2006-05-29
打赏
举报
回复
如果你没有删除过,可能在ID=208时用
Set Identity Insert 表名 on 强行插入了一个ID为215的数据
浩子
2006-05-29
打赏
举报
回复
可是确实没有执行删除的操作啊...
xeqtr1982
2006-05-29
打赏
举报
回复
应该是删除过
paoluo
2006-05-29
打赏
举报
回复
因為你刪除了數據的原因。
205,206,207,208,215,216
如果你刪除了209到214之間的數據自增列還是從215開始,不會從209開始。
sql2000 Log Explorer4.2(含注册码)+汉化
一个
备份文件可以包含
一个
日志的多组备份,甚至包括多个数据库的混合备份. 设置为自动收缩 企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩" 强烈要求该项不要选中.否则SQLServer将已循环的方式来...
Log Explorer for SQL Server v4.22 含注册机
一个
备份文件可以包含
一个
日志的多组备份,甚至包括多个数据库的混合备份. 设置为自动收缩 企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩" 强烈要求该项不要选中.否则SQLServer将已循环的方式来覆盖...
JIRA三级权限方案 - 项目、单据、
字段
不同级别的权限控制
Jira作为一款优秀的项目管理系统,功能全面,配置灵活,权限方案完善,可扩展、可定制。 本课程介绍权限控制的具体实施方案,针对项目、单据、
字段
,演示三种不同层级粒度权限的配置、扩展和定制方法,提供脚本代码...
Log Explorer for SQL Server v4.22
一个
备份文件可以包含
一个
日志的多组备份,甚至包括多个数据库的混合备份. 设置为自动收缩 企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩" 强烈要求该项不要选中.否则SQLServer将已循环的方式来...
Log Explorer4.2帮助文档
一个
备份文件可以包含
一个
日志的多组备份,甚至包括多个数据库的混合备份. 设置为自动收缩 企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩" 强烈要求该项不要选中.否则SQLServer将已循环的方式来...
MS-SQL Server
34,588
社区成员
254,588
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章