mysql - MS Access 主键自动编号变得困惑

标签 mysql database ms-access

我正在处理一个包含许多表的大型数据库,所有表都有自动编号的主键。数据库存储在网络上,多个人可以 Access 。

我的问题是:一位用户在通过表单向表格添加数据时丢失了网络连接。其他几个人随后向表中添加了数据。这给出了一个主键丢失的情况(例如,主键从 1 到 2000,但是 PK 1974 的条目丢失了——当用户失去连接时创建的那个)。我被要求将缺失的数据插入表中,并在表中的适当位置插入缺失的键 ID。我使用了“DoCmd.RunSQL”INSERT INTO 'tablename' (PrimaryKeyID, Field1) VALUES ('1974', value1)”。

这导致了问题,因为 Access 认为它​​必须创建的下一个“最新”主键是“1975”,我们收到了一条关于重复键的消息。此后,一些人设法添加了新数据,但是任何后续新数据都是在 1976 年、1977 年等创建的,这将覆盖现有数据。

谁能告诉我为什么会这样?有没有办法强制 Access“查看”表中最大的主键以创建新的自动编号键?

谢谢

最佳答案

尝试压缩后端。我认为它应该重置新值。

关于mysql - MS Access 主键自动编号变得困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29736468/

相关文章:

mysql - MySQL中的交叉表查询

java - 是否可以向 hibernate 生成的查询添加参数?

excel - 如何在 VBA 中复制和过滤 DAO 记录集?

mysql - bash 脚本中的未知选项 '--print-defaults'

php - 如何在 Mysql 表中有一列单选按钮

php - 根据两张表从MYSQL中取出一条记录

android - 无法在 android SQLite DB 中插入多行

database - 在 Neo4j 中导入 CSV 文件

ms-access - 设置数据表列标题文本(不使用底层表单中的标签)

c# - IIS 服务器上使用 C# 的 MS Access 数据库