gpt4 book ai didi

mysql - 通过 PhpMyAdmin 的复合外键约束?

转载 作者:可可西里 更新时间:2023-11-01 06:50:32 26 4
gpt4 key购买 nike

有没有办法通过 PhpMyAdmin 接口(interface)向 InnoDB 表添加复合(多列)外键?我已经在目标表中有适当的复合主键,我可以单列外键约束,但我在界面中找不到进行复合主键的方法。

Table Log
- Date
- Service
PRIMARY KEY (Date,Service)

Table Issue
- Issue_Id
- Log_Date
- Log_Service
PRIMARY KEY Issue_Id
FOREIGN KEY (Log_Date=Log.Date,Log_Service=Log.Service)

除了外键外,一切都已经设置好了;我进入 PhpMyAdmin 关系 View ,我只能看到如何针对 Log.Date 而不是针对 Log.Service 设置 FK。

最佳答案

我刚刚在 phpMyAdmin 中设置复合外键时遇到了类似的问题,也许我的解决方案也能帮到您。

这是我的设置:

My setup

如您所见,我的 ConferenceRoom 表中有一个复合主键,其中一部分也是表 Office 中 streetaddress 的外键(这可能与您的问题不同)。

此复合主键将由表 InstPicture 中的复合外键引用,但对我来说问题是,尽管将两者都定义为主键索引,phpMyAdmin 只会引用 name ConferenceRoom 主键中的列,而不是 office_streetaddress 列。

我在这里缺少的是,在尝试建立 ConferenceRoom 和 InstPicture 之间的关系之前,我没有建立 ConferenceRoom 和 Office 之间的关系。我想我忘了首先处理强大的实体,因为数据库方法是这样规定的。

当定义了 ConferenceRoom 和 Office 之间的关系时,office_streetaddress 列出现在索引列的列表中,并且可以被表中的 conferenceroom_office_streetaddress 列引用InstPicture。

我希望这也能对您有所帮助,也许可以尝试为您的 Log.Service 列创建一个单独的索引。或者如果那是 FK,建立它的关系然后再试一次。

关于mysql - 通过 PhpMyAdmin 的复合外键约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6020423/

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