BCo*_*tes 6 mysql rdbms foreign-keys phpmyadmin composite-key
有没有办法通过PhpMyAdmin接口向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)
Run Code Online (Sandbox Code Playgroud)
除外键外,一切都已设置好; 我进入PhpMyAdmin关系视图,我只能看到如何针对Log.Date设置FK而不是针对Log.Service.
小智 2
我刚刚在 phpMyAdmin 中设置复合外键时遇到了类似的问题,也许我的解决方案也可以帮助您。
这是我的设置:
streetaddress
正如您所看到的,我的 ConferenceRoom 表中有一个复合主键,其中一部分也是Office 表中的外键(这可能与您的问题不同)。
该复合主键将由表 InstPicture 中的复合外键引用,但对我来说问题是,尽管将两者都定义为主键索引,phpMyAdmin 只会引用name
ConferenceRoom 主键中的列,而不是office_streetaddress
柱子。
我在这里缺少的是,在尝试建立 ConferenceRoom 和 InstPicture 之间的关系之前,我还没有建立 ConferenceRoom 和 Office 之间的关系。我想我忘记了按照数据库方法论的规定首先处理强实体。
当 ConferenceRoom 和 Office 之间的关系被定义后,该office_streetaddress
列就会出现在索引列列表中,并且可以被conferenceroom_office_streetaddress
表 InstPicture 中的列引用。
我希望这也能帮助您,也许尝试为您的 Log.Service 列创建一个单独的索引。或者,如果这是一个 FK,请建立其关系,然后重试。
归档时间: |
|
查看次数: |
5377 次 |
最近记录: |