在PHP上调用外键中的外键

时间:2018-03-22 07:00:37

标签: php mysql foreign-keys

我很困惑,因为这3个表,我可以在另一个外键中调用外键吗?

我有3个表,ComponentPCProcessor

  ALTER TABLE `component` (
      `componentID` int(10) NOT NULL AUTO_INCREMENT,
      `Name_component` varchar(100) DEFAULT NULL,
      `Type` varchar(100) NOT NULL,
      `processorIDFK` int(10) NOT NULL,
       PRIMARY KEY (`componentID`),
       UNIQUE KEY `Processor` (`processorId`),
       CONSTRAINT processor_IDFK FOREIGN KEY (`processorIDFK`) REFERENCES processor(`processorID`)   
       );

 ALTER TABLE `PC` (
      `PCID` int(10) NOT NULL AUTO_INCREMENT,
      `name_PC` varchar(100) DEFAULT NULL,
      `componentIDFK` int(10) NOT NULL,
      PRIMARY KEY (`PCID`),
      UNIQUE KEY `component` (`componentId`),
      CONSTRAINT component_IDFK FOREIGN KEY (`componentIDFK`) REFERENCES component(`componentId`)
      );

 CREATE TABLE `processor` (
     `processorId` int(10) NOT NULL AUTO_INCREMENT,
     `processor_Name` varchar(100) DEFAULT NULL,
      PRIMARY KEY (`processorId`)
      );

我可以在PC表中调用/使用SELECT处理器名吗?与此表关系?

1 个答案:

答案 0 :(得分:1)

是的,你可以。

你需要做的就是加入你的桌子。

SELECT processor_Name FROM PC t1 
INNER JOIN component t2 ON t1.componentIDFK=t2.componentID 
INNER JOIN processor t3 ON t3.processorId=t2.processorIDFK