Mam tabelę, której klucz podstawowy jest odwoływany w kilku innych tabelach jako klucz obcy. Na przykład:Jak znaleźć wszystkie tabele z kluczami obcymi, które odwołują się do określonej tabeli.kolumny i mają wartości dla kluczy obcych?
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`)
)
Teraz nie wiem ile istnieją tabele w bazie danych, które zawierają kluczy obcych w tabelach X jak Y i Z. Czy istnieje kwerenda SQL, które można używać do powrotu:
- listę tabel, które mają kluczy obcych w X
- a które faktycznie mają te tabele wartości klucza obcego
to pytanie pomaga mi przy tak wielu okazjach. Żałuję, że nie mogę głosować więcej niż raz! – iGbanam