我很困惑,因为这3个表,我可以在另一个外键中调用外键吗?
我有3个表,Component
,PC
和Processor
。
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
处理器名吗?与此表关系?
答案 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