gpt4 book ai didi

ms-access - 在 Microsoft Access 2010 中创建关系时出现 "Too many indexes on table"错误

转载 作者:行者123 更新时间:2023-12-02 23:54:44 32 4
gpt4 key购买 nike

我有 tblUsers,它的主键是 UserID。

UserID 在许多表中用作外键。在表中,它用作多个字段的外键(例如 ObserverID、RecorderID、CheckerID)。

我已成功添加关系(在 MS Access“关系” View 中),其中我有表别名来执行每个表的多个关系:

*tblUser.UserID -> 1 到多 -> tblResight.ObserverID

*tblUser_1.UserID -> 1 到多 -> tblResight.CheckerID

创建大约 25 个强制执行引用完整性的关系后,当我尝试添加额外的关系时,出现以下错误:

“操作失败。表“tblUsers”上有太多索引。删除表上的一些索引,然后重试该操作。”

我运行了我找到的代码here它返回我在 tblUsers 上有 6 个索引。我知道每个表有 32 个索引的限制。

我使用关系 GUI 是否错误?每当我创建关系时, Access 是否会创建一个索引来强制执行引用完整性(尤其是在运行脚本时不会出现的索引)?我有点困惑,任何帮助将不胜感激。

最佳答案

好吧,经过更多研究后,我想我找到了这个问题的答案。显然这是一个非常常见的带有 channel 的天花板。我总结一下this post我发现如下:

每个表只能有 32 个“约束”。每个索引和引用完整性 (RI) 的实现都计入此 32。当您选择实现 RI 时,MS Access 会自动创建约束;您无法禁用此选项。

所有代码片段和我通过谷歌找到的东西,返回我在 table 上有六个索引(因此我感到困惑)。我没有发现/不知道的是,我的 25 段关系被计入了我的 32 段关系中,因为我强制实现了 RI。

我对此的解决方案是将 RI 放在“较低优先级”字段上(这让我很痛苦),并通过数据输入表单“强制执行”它。

基本上,这是我很快将 Access 权限迁移到 PostgreSQL 的又一个原因。

如果有人有更好的解决办法,我很乐意在这里。谢谢。

关于ms-access - 在 Microsoft Access 2010 中创建关系时出现 "Too many indexes on table"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4542522/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com