Działam na darmowym koncie na serverze w www.vixo.pl, utoworzyłem tam kilka tabel i mechanizm obsługujący je napisany w PHP. Potrzebuje utowrzyć teraz powiązanie dwóch tabel za pomocą klucza obcego. Przeszperałem w sieci jak to zrobić w przypadku MySql (stacjonarnie działam testowo na MS SQL Serverze i tam jest to proste). Znalazłem wskazówkę:
Cytat
Aby móc korzystać z kluczy obcych w MySQL musisz przede wszystkim podczas tworzenia tabeli ustawić mechanizm składowania danych na InnoDB - bez tego ani rusz. Zazwyczaj domyślnie phpMyAdmin jest tak skonfigurowany, że jako mechanizm składowania dla tabel/bazy wybiera MyISAM. Jeśli już masz tabele utworzone mechanizm składowania dla tabeli można bardzo łatwo zmienić wchodząc w zakładkę Operacje dla danej tabeli w box'ie Opcje tabeli wybierasz sobie mechanizm składowania jako InnoDB. Musisz pamiętać żeby ten mechanizm składowania zadeklarować dla obu tabel których relacja dotyczy.
Drugim elementem który jest pośrednio wymagany to indeksy istniejące w obydwu tabelach. Jeśli relacja ma zachodzić pomiędzy kolumną A w tabeli 1 a kolumną B w tabeli 2 to zarówno kolumna A jak i kolumna B muszą być w całości lub części składowymi indeksu (jednego ale mogą być też kilku) odpowiedniej tabeli.
Jeśli to masz możesz przystąpić do tworzenia relacji pomiędzy kolumnami. Wchodząc na strukturę wybranej tabeli (zakładka Struktura) masz trzy linki: Widok do druku, Widok relacyjny i Znaliza zawartości. Klikając w Widok relacyjny przejdziesz do formularza w którym możesz ustawiać relacje pomiędzy kolumnami zindeksowanymi z wybranej
Drugim elementem który jest pośrednio wymagany to indeksy istniejące w obydwu tabelach. Jeśli relacja ma zachodzić pomiędzy kolumną A w tabeli 1 a kolumną B w tabeli 2 to zarówno kolumna A jak i kolumna B muszą być w całości lub części składowymi indeksu (jednego ale mogą być też kilku) odpowiedniej tabeli.
Jeśli to masz możesz przystąpić do tworzenia relacji pomiędzy kolumnami. Wchodząc na strukturę wybranej tabeli (zakładka Struktura) masz trzy linki: Widok do druku, Widok relacyjny i Znaliza zawartości. Klikając w Widok relacyjny przejdziesz do formularza w którym możesz ustawiać relacje pomiędzy kolumnami zindeksowanymi z wybranej
U mnie nie ma możliwości zmiany mechanizmu składowania dla tabel/bazy z MyISAM na InnoDB, nie ma takiej opcjacji na liście rozwijalnej wyboru mechanizmów składowania w ustawieniach...
Może mi ktoś pomóc?
Pozdrawiam i z góry dzięki.