数据库
首页 > 数据库> > 访问不导入MySQL链接表的关系

访问不导入MySQL链接表的关系

作者:互联网

我已成功将MySQL数据库与Access数据库文件相关联.一切都运行正常,除了MySQL数据库中的关系没有出现在Access中.

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

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

解决方法:

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

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

ODBC –insert on a linked table ‘orders’ failed.

[MySQL][ODBC 5.2(w) Driver][mysqld-5.5.29-0ubuntu0.12.04.2]Cannot add or update a child row: a foreign key constraint fails (`zzzTest`,`orders`, CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`customerID`) REFERENCES `customers` (`customerID`)) (#1452)

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

…但请注意,“强制参照完整性”选项是灰色的,因为这是服务器上数据库设置的功能,而不是Access中的功能.实际上,“访问方”关系提供的唯一好处是:

>关系的“文档”(可以​​从针对MySQL数据库生成的数据库图中获得),以及
> Access查询设计器中的链接表之间的“自动”连接(如果表具有相同名称的列,也可以在没有[Access] Relationships的情况下发生).

您可以自行决定创建这些“访问端”关系是否值得.

标签:mysql,ms-access,ms-office
来源: https://codeday.me/bug/20190825/1722046.html