Zadaniem na dziś było zaktualizowanie tabelki pod jeden ze skryptów użytkowych, który jest w trakcie przygotowania. Moim zadaniem było utworzenie nowej tabelki a następnie stworzenie relacji z nowoutworzonej tabelki do jednej z istniejących. Niestety phpMyAdmin uporczywie wykrzykiwał błąd, z którym niestety nie miałem pomysłu jak sobie poradzić. Jak się później okazało rozwiązanie było możliwie najbardziej banalne (…czytaj więcej)

[code]Cannot add or update a child row: a foreign key constraint fails(…) [/code]

Chodziło o utworzenie klucza obcego w jednej z tabelek. Całość operacji chciałem przeprowadzić za pomocą phpMyAdmin. Po wielu próbach i przeczytaniu wielu obszernych for, ktoś podsunał pomysł.
Przykład?

Tabelka ksiazki

id_ksiazki | ksiazka_autor | tytul
—————————
1 | Stephen King | Lśnienie

Tabelka kategorie

id_kategorii | ksiazki.id_ksiazki | kategoria
—————————————-
1 | 1 | Horrory

Zanim utworzymy klucz obcy w tabelce kategoria musi się znajdować pole które będziemy powiązywać – w naszym wypadku ksiazki._id_ksiazki. Następnie dodajemy przykładowy rekord do tabelki kategorie, gdzie wpisujemy w pole ksiazki.id_ksiazki wartość prawidłową znajdująca się w tabelce ksiazki.
Dopiero po dodaniu tego wpisu, phpMyAdmin pozwoli nam na utworzenie klucza obcego a irytujący błąd
[code]Cannot add or update a child row: a foreign key constraint fails(…) [/code]
przestanie się pojawiać :)