ms-access - MS Access 自动编号问题

标签 ms-access

我的一个客户意外地从 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/

相关文章:

python - 使用 Python/pyodbc 插入 Access DB

sql - 对象名称无效,但对象显然有效

ms-access - 多用户网络上的 MS Access DB

database - 使用经典 ASP 的 Windows Server 2003 中的 MS Access 数据库

sql - 使用带有 NOT EXISTS 的 INNER JOIN Access INSERT 语句会给出错误的结果

c# - 尝试删除 Access 数据库中的行时出错

ms-access - 我需要编写一个 Access 97 .mdb 文件

vba - Access 2010 VBA 错误 2425 "The expression you entered has a function name that database can' t 查找”

c# - 使用 C# 和 asp.net 将 sql 插入 access db 时出现语法错误

android - 想要开发利用 Access 数据库中信息的移动应用程序?