【问题标题】:Access not importing relationships for MySQL linked tables访问不为 MySQL 链接表导入关系
【发布时间】:2013-05-09 17:26:57
【问题描述】:

我已成功地将我的 MySQL 数据库与我的 Access 数据库文件链接起来。除了 MySQL 数据库中的关系没有出现在 Access 中之外,一切正常。

我使用外键在 MySQL 表中建立了很多关系,但这些关系并没有反映在 Access 中。请帮助我将关系从 MySQL 数据库导入 Access。

我正在使用的软件:MySQL 版本 5,Microsoft Office 2013,Access 文件格式:.accdb

【问题讨论】:

    标签: mysql ms-access ms-office


    【解决方案1】:

    虽然默认情况下 MySQL 外键约束不会显示在 Access 的“关系”选项卡中,但这些约束仍然存在于 MySQL 中,并且仍然对链接表强制执行。

    例如,假设我有两个 MySQL 表,[customers] 和 [orders],在 [orders] 上有一个外键约束。如果我链接到 Access 中的这些表,并尝试在 [customerID] 与 [customers] 链接表中的 [customerID] 不匹配的 [orders] 链接表中插入一行,则插入失败:

    ODBC --在链接表“订单”上插入失败。

    [MySQL][ODBC 5.2(w) 驱动程序][mysqld-5.5.29-0ubuntu0.12.04.2]无法添加或更新子行:外键约束失败(`zzzTest`、`orders`、CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`customerID`) REFERENCES `customers` (`customerID`)) (#1452)

    可以进入 Access 中的“关系”选项卡并为 MySQL 表创建“访问端”关系...

    ...但请注意,“强制引用完整性”选项显示为灰色,因为这是服务器上数据库设置的功能,而不是 Access 中的功能。真的,“访问端”关系提供的唯一好处是:

    • 关系的“文档”(您可以从针对 MySQL 数据库生成的数据库图表中获得),以及

    • Access 查询设计器中链接表之间的“自动”联接(如果表具有同名的列,则在没有 [Access] 关系的情况下也可能发生这种情况)。

    由您决定创建这些“访问端”关系是否值得。

    【讨论】:

      【解决方案2】:

      由于这是跨数据库,可能需要手动重新创建。 看看这个Importing .sql into MS Access using OBDC

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-04
        • 2020-05-19
        • 2015-07-03
        • 1970-01-01
        • 2012-12-26
        • 1970-01-01
        • 2011-06-23
        相关资源
        最近更新 更多