ฉันมีตารางที่มีคีย์หลักที่อ้างอิงในตารางอื่น ๆ เป็นคีย์ต่างประเทศ ตัวอย่างเช่น:
CREATE TABLE `X` (
`X_id` int NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`X_id`)
)
CREATE TABLE `Y` (
`Y_id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
`X_id` int DEFAULT NULL,
PRIMARY KEY (`Y_id`),
CONSTRAINT `Y_X` FOREIGN KEY (`X_id`) REFERENCES `X` (`X_id`)
)
CREATE TABLE `Z` (
`Z_id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
`X_id` int DEFAULT NULL,
PRIMARY KEY (`Z_id`),
CONSTRAINT `Z_X` FOREIGN KEY (`X_id`) REFERENCES `X` (`X_id`)
)
ตอนนี้ฉันไม่ทราบว่ามีกี่ตารางในฐานข้อมูลที่มีคีย์ต่างประเทศลงใน X เช่นตาราง Y และ Z มีแบบสอบถาม SQL ที่ฉันสามารถใช้เพื่อส่งกลับ:
- รายการของตารางที่มี foreign key เป็น X
- และตารางใดที่มีค่าในคีย์ต่างประเทศ