Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [phpmyadmin] problem z relacjami w phpmyadmin
Forum PHP.pl > Forum > Przedszkole
nieraczek
Odkryłem nową funkcjonalność w phpmyadminie - widok relacyjny biggrin.gif Ale nie bardzo wiem jak mam zrobić relację.
Mam tabele:
ksiazki:
id_ksiazki PK

autorzy:
id_autorzy PK

ksiazki_autorzy:
id_ksiazki PK
id_autorzy PK


i jak chciałbym zrobić relację:
autorzy - ksiazki_autorzy

to przechodzę do tabeli autorzy -> widok relacyjny i jak chciałbym wybrać dla niej klucz obcy ksiazki_autorzy.id_autorzy to nie moge bo sa dostepne tylko:
ksiazki.id_ksiazki
autorzy.id_autorzy
ksiazki_autorzy.id_ksiazki

dlaczego ?
ddiceman
Bo tabela jest pewnie oparta na silniku MyISAM, ktory nie obsluguje kluczy obcych. Te sa obslugiwane jedynie w tabelach typu InnoDB, ktore obsluguja takze np. tranzakcje
Mati7
Musisz najpierw z wybranych pól zrobić indeksy.
robi się to w widoku chyba "struktura"

Możesz tez zapytaniem:

  1. ALTER TABLE `tabela` ADD INDEX ( `nazwa_pola` )
nieraczek
Miałem ustawione tabele na InnoDB. Dziwne, ale jak zrobilem indeksy, wszedlem do tabeli autorzy i jako foreign_key ustawilem id_autorzy z ksiazki_autorzy to nie moglem dodawac danych do tabeli autorzy z powodu klucza obcego, a jak wszedłem do tabeli ksiazki_autorzy -> widok relacyjny i jako foreign_key ustawiłem id_autorzy z tabeli autorzy oraz id_ksiazki z tabeli ksiazki i jak zobaczyłem w wygenerowanym kodzie foreign_key staly sie kolumny id_autorzy z tabeli ksiazki_autorzy a nie autorzy oraz id_ksiazki z tabeli ksiazki_autorzy a nie ksiazki i wszystko dziala ok blinksmiley.gif lol
Teraz mi w ogóle jak wchodzę do widoku relacyjnego zmienił się układ - nie ma nigdzie napisu foreign_key, a kolumna i tabela ma postać np. autorzy->id_autorzy a nie jak poprzednio autorzy.id_autorzy a nic nie robiłem......... No cóż, w każdym razie działa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.