sql – 重置自动编号种子

前端之家收集整理的这篇文章主要介绍了sql – 重置自动编号种子前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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

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

猜你在找的MsSQL相关文章