Witam. Posiadam dwie tabele: druzyny oraz zawodnicy
Składają się one z poszczególnych kolumn:
Tabela druzyny:
ID_Druzyny | nazwa | trener | kierownik | masazysta
ID_Druzyny to PrimaryKey
Tabela zawodnicy:
ID_Zawodnika | ID_Druzyny | numer | imie | nazwisko | pozycja
ID_Zawodnika to PrimaryKey
ID_Druzyny to ForeignKey
a to relacja (FK_zawodnicy_druzyny) tych tabel:
Foreign Key Base Table: zawodnicy
Foreign Key Columns: ID_Druzyny
Primary/Unique Key Base Table: druzyny
Primary/Unique Columns: ID_Druzyny
Do tabeli druzyny dodawane są druzyny. Po wybraniu odpowiedniej druzyny do tabeli zawodnicy dodawani sa zawodnicy, gdzie do wiersza ID_Druzyny wpisywana jest wartosc ID_Druzyny z wybranej aktualnie druzyny.
Problem tkwi w tym, że podczas gdy chcę usunąć jakąś drużynę, która posiada w tabeli zawodnicy zawodników to wyskakuje mi błąd. Gdy usuwam natomiast drużynę dla której nie mam przypisanych zadnych zawodników nie ma błędu i mogę usunąć dana drużynę.
Zapytanie usunięcia:
string delQuery = "DELETE FROM druzyny WHERE nazwa = @wybranadruzyna ";
Oto komunikat błędu:
The DELETE statement conflicted with the REFERENCE constraint "FK_zawodnicy_druzyny". The conflict occurred in database "HANDBALL2.MDF", table "dbo.zawodnicy", column 'ID_Druzyny'.
The statement has been terminated.
Rozumiem, że chodzi o to, że gdy chcę usunąć daną drużynę, a jacyś zawodnicy są przypisani do tej drużyny następuje błąd?
Dlaczego się tak dzieje? Myślę, że rozsądnym było by usunięcie także zawodników którzy odpowiadają wybranej do usunięcia drużynie? Jak to zrobić?