加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 重置自动编号种子

发布时间:2020-12-12 07:27:44 所属栏目:MsSql教程 来源:网络整理
导读:我有一个VB6 / Access应用程序偶尔遇到错误的自动编号字段种子的问题. 假设有一个带有自动编号字段ID的表MYTABLE(也是主键).让我们说目前ID的最大值是1000.当应用程序插入新记录(未明确提供ID值)时,由于某种原因,它决定下一个自动编号字段值是950(而不是1001,
我有一个VB6 / Access应用程序偶尔遇到错误的自动编号字段种子的问题.

假设有一个带有自动编号字段ID的表MYTABLE(也是主键).让我们说目前ID的最大值是1000.当应用程序插入新记录(未明确提供ID值)时,由于某种原因,它决定下一个自动编号字段值是950(而不是1001,因为它应该是) – 因此发生主键违规错误.

我发现了一篇描述我症状的知识库文章:http://support.microsoft.com/kb/884185.简而言之,他们建议运行查询:

ALTER TABLE MYTABLE ALTER COLUMN ID COUNTER(1001,1)

当我尝试这样做时,它失败并显示“无效的字段数据类型”

如果我在Access中打开数据库并进行压缩/修复,问题就解决了,但是我需要能够在应用程序中解决这些问题:它安装在全世界成千上万的PC上,并要求人们压缩/使用Access进行维修不是一种选择.

我使用DAO DBEngine.CompactDatabase在应用程序内执行压缩/修复,但它不能解决种子问题,还需要一些额外的技巧.

我希望有人有一个解决方案的想法,我真的很接近绝望

谢谢大家

解决方法

请参考以下文章,它包含一个方法,您可以添加到您的访问项目以执行重置种子.过去,它曾多次成为我的救星:

http://allenbrowne.com/ser-40.html

除此之外,它还解释并深入了解此类问题的原因和可能的解决方案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读