![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 145 Pomógł: 0 Dołączył: 30.07.2012 Skąd: Łódź Ostrzeżenie: (10%) ![]() ![]() |
Co zrobic przy tworzeniu bazy tak aby po usunieciu danego elementu usowalo sie wszystko co z nim zwiazane?
przyklad: baza: firmy tabele: firmy, kategorie, powiazania kasuje dana firme a ona znika z powiazan. jak to zrobic? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 9 Dołączył: 12.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
Jeżeli w firmy, kategorie, powiazania masz ID firmy z tabeli firmy
To wykonaj zapytania DELETE FROM na wszystkie tabele pod tym ID |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 145 Pomógł: 0 Dołączył: 30.07.2012 Skąd: Łódź Ostrzeżenie: (10%) ![]() ![]() |
a jesli w kategoriach nie mam id_firmy?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Wystarczy dodać on delete cascade na kluczu obcym, pod warunkiem, że istnieje w odpowiedniej tabeli.
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 9 Dołączył: 12.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
to w jaki sposób ta tabela jest powiązana z poprzednimi ?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 145 Pomógł: 0 Dołączył: 30.07.2012 Skąd: Łódź Ostrzeżenie: (10%) ![]() ![]() |
firmy:
id_firmy nazwa itd kategorie id_kategori nazwa powiazanie id_powiazania id_firmy id_kategori tak wyglada baza, a jak wygldaja relacje to chyba widac Wystarczy dodać on delete cascade na kluczu obcym, pod warunkiem, że istnieje w odpowiedniej tabeli. Podaj przykład jakiś jak możesz |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 9 Dołączył: 12.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
Zrób select na powiazanie wyciągnij id_kategori i daj DELETE FROM na kategorie z tym wyciągnietym ID
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 145 Pomógł: 0 Dołączył: 30.07.2012 Skąd: Łódź Ostrzeżenie: (10%) ![]() ![]() |
taka skladnia jest ok?
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie chodzi o stworzenie nowej tabeli, a o wykonanie takiego powiązania za pomocą kluczy obcych, aby w składni tworzącej tabele móc dodać klauzulę on delete cascade i zwyczajowo robi się to na samym początku, tj. tworząc strukturę bazy danych. Teraz, jeżeli posiadasz dwie tabele, z której przynajmniej jedna posiada klucz obcy, to możesz wykonać następujące czynności *):
(za X oznaczam docelową tabelę, na której pracujemy) 1) - pokaże Ci polecenie sql, które utworzyło tabelę 2) teraz zmodyfikuj polecenie usuwając klucz obcy:
3) teraz dodaj klucz z powrotem tym razem podając klauzulę on delete cascade:
voila Literatura: 1) 2) *) podane czynności wymagają posiadania klucza obcego w tabeli określonej jako X. Ten post edytował darko 26.08.2012, 20:53:36 -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 145 Pomógł: 0 Dołączył: 30.07.2012 Skąd: Łódź Ostrzeżenie: (10%) ![]() ![]() |
Mam dwie tabele teraz:
firmy: id_firmy nazwa itd kategorie: id_kategori nazwa i teraz chce stworzyc 3cia ktora bedzie laczyc te dwie: powiazanie: id_powiazania id_firmy id_kategori Chce to zrobic tym kodem:
Zerknijcie czy tak moze byc? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 16:06 |