首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入时的MS Access AutoNumber

导入时的MS Access AutoNumber
EN

Stack Overflow用户
提问于 2009-06-04 21:32:20
回答 3查看 5.1K关注 0票数 1

奇怪的是,当我将519行电子表格中的数据导入到一个空表中时,为什么我的自动编号键从56,557,618开始?这能变得多大?我不想最终耗尽我的主键字段的位数,因为我甚至还没有开始这个项目,而且我希望经常转储电子表格。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-06-04 21:43:27

即使是在空表上,Access也会记住它给出的最后一个ID。要重置自动编号,必须在清空表后压缩/修复数据库

另外,autonumber是一个长整数,在Access中可以达到2,147,483,647

票数 1
EN

Stack Overflow用户

发布于 2009-06-04 21:54:13

您可以使用以下命令重置自动编号,而无需压缩和修复:

代码语言:javascript
复制
 CurrentDb.Execute "ALTER TABLE tblTable ALTER COLUMN ID COUNTER(1,1)"

在运行SQL之前,您必须确保表为空,否则您将在尝试创建重复的自动编号时获得访问权限。

票数 3
EN

Stack Overflow用户

发布于 2009-06-05 13:15:58

您还可以通过创建包含自动编号列的附加查询来重置自动编号。一旦行被附加,那么数字将被设置为附加的值+ 1。

执行此操作时,您必须注意该值不能小于当前的最高值。

例如

代码语言:javascript
复制
INSERT INTO tblName ( id )
SELECT [tblName]![id]+1 AS [New Value]
FROM tblName
GROUP BY [tblName]![id]+1, tblName.id
HAVING (((tblName.id)=(Select max(id) from tblName)));

会将自动编号重置为最后一个数字的+2。注意:您必须包含任何必填列,然后删除新行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/953232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档