![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 1 Dołączył: 21.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
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 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. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 1 Dołączył: 21.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
HEj, dzięki za odp.
OD tego zacząłęm już wcześniej kombinowanie. Wykonałem też i takie polecenie SQL - zostało zaakcpetowane, ale w ustawieniach mechanizm składowania danych nie zmienił sie na InnoDB, widnieje dalej MyISAM.. tak musi zostać? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Powinno Ci pokazać innodb w kolumnie TYPE w PMA.
https://www.activecollab.com/forums/post/2746/ zobacz sobie czy jest włączone innodb Ten post edytował skowron-line 26.02.2013, 09:37:14 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 1 Dołączył: 21.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
ok, dzięks.
Popatrze po pracy i wrazie co jeszcze dopytam. Pozdrawiam! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:06 |