MySQL Wykaz kluczy obcych

1

Witam!

Szukam sposobu na znalezienie wszystkich kluczy obcych bazie. Albo kluczy obcych do pewnej tabeli. Chcę usunąć kilka tabel i klucze mi w tym przeszkadzają...

Z góry dzięki.

0

Wydaje mi się, że MySQL w obecnej wersji nie posiada komendy listującej klucze obce. Możesz użyć:

SHOW CREATE TABLE nazwa_tabeli

żeby zobaczyć pełnego CREATE dla danej tabeli - tam też będą klucze.

0

Dzięki, chociaż to nie jest rozwiązanie... Musiałbym to dla setek tabel zrobić. Na razie radzę sobie tak, że skryptuję całą bazę i wyszukuję tekst "REFERENCES ...", ale to też nie jest najlepsze rozwiązanie.

3

W każdej bazie danych są takie magiczne tabele systemowe (mniejsza o to czy wszędzie fizycznie są one tabelami czy widokami).
W MySQL masz np. INFORMATION_SCHEMA.TABLE_CONSTRAINTS http://dev.mysql.com/doc/refman/5.5/en/table-constraints-table.html robiąc odpowiedniego select'a z tej tabeli, ewentualnie złączając z innymi możesz wybrać wartości jakie potrzebujesz.
Pomocna może być jeszcze INFORMATION_SCHEMA.KEY_COLUMN_USAGE http://dev.mysql.com/doc/refman/5.5/en/key-column-usage-table.html

0

I to jest właśnie to, czego szukałem. Dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1