![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabele powiązane relacjami:
--uczestnicy id_uczestnika --szkolenia id_skzolenia --szkolenia_uczestnicy id_szkolenia id_uczestnika Znam tylko id_szkolenia, chce usunac wszelkie dane powiazane z szkoleniem(z każdej tabeli) Co robię obecnie: 1.Usuwam dane z szkolenia uczestnicy 2.Usuwam dane z szkolenia 3 TU problem? Jak usunac z uczestnicy Problem tu jest z kolejnością usunięcia wszystkich danych |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jak wygląda warunek on delete... dla kluczy obcych?
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
To jak ustawisz zacznie działać samo z siebie. Poza tym to mi wygląda na sql server nie mysql jak w temacie.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Co do problemu nr 3:
lub:
plus kilka innych sposobów np. z użyciem left join ale tu sobie sam googlnij ![]() @viking: nawet z kluczem obcym rekordy uczestników nie zostaną usunięte. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
czyli metoda vikinga nie zadziala?
nie znam id_uczestnika i musial bym je poprzez tabele posrednia wyciagac (szkolenia_uczestnicy) wiec twoich zapytan nie bardzo rozumiem Ten post edytował eminiasty 30.11.2017, 21:00:27 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Metoda vikinga jest jak najbardziej słuszna, należy założyć klucze obce dzięki czemu zapewnisz bazie integralność danych. Podczas usuwania rekordu z tabeli szkolenia automatycznie usunięte zostaną rekordy z tabeli szkolania_uczestnicy. To samo sie stanie gdy usuniesz rekord z tabeli uczestnicy,
Moje zapytania nie potrzebują żadnych parametrów. Odpal jedno z nich jako trzecie (lub drugie jeśli założysz klucze obce). Po prostu usuwają z tabeli uczestnicy te rekordy, dla których nie ma wpisów w tabeli szkolenia_uczestnicy. Choć nie wiem czy nie lepiej byłoby jako pierwsze odpalić:
gdyż poprzednie zapytania orają niejako całość tabeli. Jeśli z jakiegoś powodu musisz odpalać to jako trzecie to na jeden z poprzednich sposobów, jeśli nie - użyj powyższego. Edit: Powyższe tez ma jedna pułapkę - usunie użytkownika nawet jeśli jest przypisany na usuwane szkolenie oraz dowolne inne. No ale masz kilka wędek - złóż z nich odpowiednią ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 07:38 |