Utworzylem klucz obcy wedlug wzoru wykonujac zapytanie w phpmyadminie (bo u mnie nie ma nigdzie widoku relacyjnego zeby to zrobic recznie):
ALTER TABLE c ADD CONSTRAINT nazwa_ograniczenia FOREIGN KEY (d) REFERENCES b(a);
c - tabela w ktorej ma byc klucz obcy
d - rekord tabeli b. kluczem obcym
b - tabela z kluczem glownym
a - klucz glowny do ktorego laczy klucz obcy
Obie tabele ustawiłem na InnoDB.
W phpmyadminie w jednej tabeli dodalem wiersz wpisujac w kolumnie, ktora jest kluczem obcym ID, ktore nie wystepuje w drugiej tabeli w kolumnie bedacej kluczem podstawowym i wiersz zostal dodany

---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Już chyba mam przyczynę: najpierw należy zmienić typ tabel a potem zrobić związek między nimi. Ja najpierw zrobiłem związek a potem zmieniłem typ tabel i dlatego związek nie działał.