Tôi có một bảng có khóa chính được tham chiếu trong một số bảng khác dưới dạng khóa ngoại. Ví dụ:
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`)
)
Bây giờ, tôi không biết có bao nhiêu bảng trong cơ sở dữ liệu chứa khóa ngoại vào X như bảng Y và Z. Có câu truy vấn SQL nào tôi có thể sử dụng để trả về:
- Danh sách các bảng có khóa ngoại vào X
- VÀ bảng nào trong số các bảng đó thực sự có giá trị trong khóa ngoại