我的一个客户端意外地从一个 Access 表中删除了约500条记录,该 Access 表的主ID字段被创建为“自动编号”。通过关闭自动编号列(改回整数),我能够从备份中恢复丢失的500条记录,但是现在当然不能重新打开自动编号了。
有哪些可能的解决方案? ID字段用作其他表的链接,因此,我不能不对所有表重新编号,而还要对所有引用该数字的表进行重新编号(这很麻烦,但有可能)。
如果表中已经存在数据,是否有使用“max(id)”作为起点重新打开自动编号的“技巧”?
最佳答案
将具有ID字段的newTable设置为AutoNumber(除ID外,所有字段都必须与原始表中的字段相同)。将所有数据从originalTable复制到newTable:
INSERT INTO newTable SELECT * FROM originalTable
填充数据后,删除originalTable并将newTable重命名为originalTable。
这样,保留了自动编号中的所有“漏洞”,并且newTable启用了自动编号。
P.S.始终尝试将外键添加到您的ID中。在这种情况下,即使删除了某些数据,您至少也将具有一致的状态。
关于ms-access - MS Access自动编号问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1203398/