MS Access自动编号问题

E.J*_*nan 5 ms-access

我的一个客户端意外地从一个访问表中删除了大约500条记录,该访问表具有一个主ID字段,该字段被创建为“自动编号”。通过关闭自动编号列(改回整数),我能够从备份中恢复丢失的500条记录,但是现在当然不能重新打开自动编号了。

有哪些可能的解决方案?ID字段用作其他表的链接,因此,我不能不对所有表重新编号,而还要对所有引用该数字的表进行重新编号(这很麻烦,但有可能)。

如果表中已经存在数据,是否有使用“ max(id)作为起点”重新启用自动编号的“技巧”?

Jos*_*ved 5

将具有ID字段的newTable设置为AutoNumber(除ID外,所有字段都必须与原始表中的字段相同)。将所有数据从originalTable复制到newTable:

INSERT INTO newTable SELECT * FROM originalTable
Run Code Online (Sandbox Code Playgroud)

填充数据后,删除originalTable并将newTable重命名为originalTable。

这样,保留了自动编号中的所有“漏洞”,并且newTable启用了自动编号。

PS始终尝试将外键添加到您的ID。在这种情况下,即使删除了某些数据,您至少也将具有一致的状态。