Sam miałem ten problem dotyczący komunikatu o błędzie, który pojawia się podczas próby wypełnienia pola klucza obcego. Skończyłem na tej stronie w nadziei na znalezienie odpowiedzi. Sprawdzona odpowiedź na tej stronie jest rzeczywiście poprawna, niestety uważam, że odpowiedź jest nieco niekompletna dla osób, które nie znają SQL. Jestem dość zdolny do pisania kodu, ale zapytania SQL są dla mnie nowością, a także budowaniem tabel bazy danych.
Mimo że sprawdzona odpowiedź jest poprawna:
Mike M napisał-
„Sposób, w jaki działa FK, nie może mieć wartości w tej kolumnie, która nie znajduje się również w kolumnie klucza podstawowego w tabeli, do której istnieje odniesienie”.
W tej odpowiedzi brakuje po prostu;
Najpierw musisz zbudować tabelę zawierającą klucz podstawowy.
Innym sposobem, aby to powiedzieć;
Musisz wstawić dane do tabeli nadrzędnej zawierającej klucz podstawowy, zanim spróbujesz wstawić dane do tabeli podrzędnej zawierającej klucz obcy.
Krótko mówiąc, wiele samouczków wydaje się zastanawiać nad tym faktem, więc jeśli spróbujesz samodzielnie i nie zdasz sobie sprawy, że istnieje kolejność operacji, otrzymasz błąd. Oczywiście po dodaniu danych klucza podstawowego dane klucza obcego w tabeli podrzędnej muszą być zgodne z polem klucza podstawowego w tabeli nadrzędnej, w przeciwnym razie nadal będzie występować ten błąd.
Jeśli ktoś poczyta tak daleko. Mam nadzieję, że pomogło to wyjaśnić sprawdzoną odpowiedź. Wiem, że niektórzy z was mogą uważać, że tego rodzaju rzeczy są dość proste i że otwarcie książki odpowiedziałoby na to pytanie przed opublikowaniem, ale prawda jest taka, że nie każdy uczy się w ten sam sposób.
Sup_Item_Cat
tabeli. Niewiele więcej na ten temat.