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