您可以在 MS Access 的自动递增字段中插入自定义值吗
Can you insert a custom value in an Auto-incrementing field in MS Access
列自动递增。用户想要插入一个带有特定数字的行(我已经确认它不存在于该列中)。在 SQL 服务器中,我会快速执行 SET IDENTITY_INSERT ON
并插入语句。 Microsoft Access 是否有解决此问题的方法,还是他们运气不好。
可以 运行 INSERT 操作 SQL。
但随后需要压缩和修复来重置自动编号种子。或者,根据@4dmonster 的评论,运行 另一个具有最大自动编号值的 INSERT 已经在数据库中。只要为唯一索引设置了自动编号,插入就会失败,但顺序会固定,正常数据输入会生成下一个编号。我测试了并且有效。
我只能猜测这个自动编号用作必须说明的序列号,如在许可证号系列中。否则,序列间隙不应该是一个问题,可以忽略。
不是答案,而是解决方法。不要使列自动递增,而是将默认值设置为最大当前值加一。默认值实际上会增加一个,但用户可以选择不同的值。尚未在非常大的表上进行测试。
列自动递增。用户想要插入一个带有特定数字的行(我已经确认它不存在于该列中)。在 SQL 服务器中,我会快速执行 SET IDENTITY_INSERT ON
并插入语句。 Microsoft Access 是否有解决此问题的方法,还是他们运气不好。
可以 运行 INSERT 操作 SQL。
但随后需要压缩和修复来重置自动编号种子。或者,根据@4dmonster 的评论,运行 另一个具有最大自动编号值的 INSERT 已经在数据库中。只要为唯一索引设置了自动编号,插入就会失败,但顺序会固定,正常数据输入会生成下一个编号。我测试了并且有效。
我只能猜测这个自动编号用作必须说明的序列号,如在许可证号系列中。否则,序列间隙不应该是一个问题,可以忽略。
不是答案,而是解决方法。不要使列自动递增,而是将默认值设置为最大当前值加一。默认值实际上会增加一个,但用户可以选择不同的值。尚未在非常大的表上进行测试。