Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Relacje na tabelach, Wypełnianie kluczy obcych w tabelach
kosmos
post 8.07.2014, 20:43:57
Post #1





Grupa: Zarejestrowani
Postów: 367
Pomógł: 17
Dołączył: 4.03.2008

Ostrzeżenie: (0%)
-----


Witam,

załóżmy że mam tabelę NOTATKA. Notatkę może dodać użytkownik systemu do takich obiektów jak MEDIA i KLIENT. Wygląda to mniej więcej tak:


NOTATKA
id_notatka
id_media
id_klient
nazwa
...


MEDIA
id_media
nazwa
...

KLIENT
id_klient
imie
nazwisko
...

Teraz załóżmy, że chcę dodać notatkę dla klienta (rekordu w tabeli KLIENT). Wówczas id_media w tabeli NOTATKA nie będzie miało powiązania z tabelą MEDIA.
Kiedy chcę wstawić taką notatkę do bazy, mam komunikat:

#1452 - Cannot add or update a child row: a foreign key constraint fails ...

Jak można to obejść? w takich sytuacjach w klucze zewnętrzne tabel z którymi nie chcę mieć powiązania mam wstawiaćnp 0?

Dziękuję za odpowiedzi.

Ten post edytował kosmos 8.07.2014, 20:46:15
Go to the top of the page
+Quote Post
irmidjusz
post 8.07.2014, 20:50:00
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

Ostrzeżenie: (0%)
-----


kolumny będące kluczami obcymi muszą mieć możliwość przechowywać typ NULL


--------------------
there is much to be learned
Go to the top of the page
+Quote Post
kosmos
post 8.07.2014, 20:54:24
Post #3





Grupa: Zarejestrowani
Postów: 367
Pomógł: 17
Dołączył: 4.03.2008

Ostrzeżenie: (0%)
-----


Czyli "ustawienia domyślne" dla kluczy obcych ustawić na NULL ?

Poszło dzięki za potwierdzenie przypuszczeń wink.gif

Ten post edytował kosmos 8.07.2014, 20:57:57
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.04.2024 - 07:26