![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 149 Pomógł: 0 Dołączył: 18.04.2004 Skąd: Z nikąd Ostrzeżenie: (30%) ![]() ![]() |
Chodzi mi o to, ze mam kilka tabel polaczonych ze soba polem pole_id.
Mam jakis warunek i on zwraca liste id (pole_id), ktore nalezy usunac z wszystkich tabel. Czy inaczej mowiac chce usunac dane z kilku tabel o danym id spelniaujacych konkretny warunek. To sie jakos nazywalo: kaskadowe usuawanie, czy jakos tak.... jak to sie robi? jakie wersje mysql to obsluguja? -------------------- kOskiToS :D
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 401 Pomógł: 5 Dołączył: 14.09.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
CREATE TABLE -> type InnoDB
a później FOREIGN KEY -> ondelete cascade -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 149 Pomógł: 0 Dołączył: 18.04.2004 Skąd: Z nikąd Ostrzeżenie: (30%) ![]() ![]() |
ze jak?
daj mi przyklad zapytania jak to sie usuwa... -------------------- kOskiToS :D
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Cytat daj mi przyklad zapytania jak to sie usuwa... Zapytanie wyglada normalnie
Najwazniejsze w usuwaniu caskadowym jest typ relacji no i w przypadku mysqla typ tabel. Ale o tym @bendi pisal. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 149 Pomógł: 0 Dołączył: 18.04.2004 Skąd: Z nikąd Ostrzeżenie: (30%) ![]() ![]() |
hehe, ej czlowieku ty mi dales zapytanie usun z jednej tabeli
ja chce usunac z wielu tabeli czyli to niby ma tak wygladac?
o co wam chodzi z tym typem relacji no? jakby co mam zwykla tabele... piszcie po ludzku -------------------- kOskiToS :D
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
hehe, ej czlowieku ty mi dales zapytanie usun z jednej tabeli ja chce usunac z wielu tabeli czyli to niby ma tak wygladac?
o co wam chodzi z tym typem relacji no? jakby co mam zwykla tabele... piszcie po ludzku Człowieku poszukaj. SongoQ już kiedyś o tym pisał. -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 560 Pomógł: 0 Dołączył: 15.07.2003 Skąd: Kwidzyn Ostrzeżenie: (0%) ![]() ![]() |
na forum wielu leniwych
![]() ale do rzeczy ![]() dzieki nim pozesz powizac ze soba kilka tabel i uzuwajac rekord w tabeli "glownej" w tabelach gdzie sa ustawione klucze obce "polaczone" z tabele "glowna" polecenia kasowania lub edycji sa wykonywane automatycznie -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 149 Pomógł: 0 Dołączył: 18.04.2004 Skąd: Z nikąd Ostrzeżenie: (30%) ![]() ![]() |
spoko, dzieki, chociaz Ty umiesz wytlumaczyc
ale mam pytanie: czy to usuwanie kaskadowe jest obslugiwane przez wszystkie wersje mysql, czy tylko 5? bo widze, ze aby zaprojektowac baze z tym kluczem obcym to sie jakos inaczej projektuje? bo w manualu znalazlem ze wystarczy dodac: FOREIGN KEY (reviewingid) REFERENCES reviewing (reviewingid) on delete cascade a nie pisze zeby tabela byla innodb? wogole czym sie rozni innodb od myisam? jak normalnie dodaje tabele to dodaje innodb czy myisam? OT: ale ja nie jestem leniwy, bo tego szukalem, a o kluczu obcym nikt z poprzednikow nie pisal, jak ktos nie wie, to go naprowadzcie, a nie rzucacie jakimis haslami -------------------- kOskiToS :D
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 8 Dołączył: 2.04.2006 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Witam
mam podobny problem, chcialbym aby zapytanie zmienialo status w drugiej tabeli a dokladnie chodzi mi o takie cos:
Druga tabela
w momencie usuniecia jakiegos id_wynajecia chcialbym zmienic status w pokoju z "zajety" na "wolny" da sie takie cos zrobic ? Z gory dzieki za odpowiedz ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@koskitos Piszesz pytanie i zadasz aby Ci kazdy krok po kroku to zrobil. Dostales 2 wskazówki co masz zrobic i nawet nie raczyles pogooglowac.
Cytat ale mam pytanie: czy to usuwanie kaskadowe jest obslugiwane przez wszystkie wersje mysql, czy tylko 5? Tam gdzie jest Inno DB z tego co pamietam to chyba bylo 4.0 albo jeszcze wczesniej tylko to bylo domyslnie wylonczone. Cytat wogole czym sie rozni innodb od myisam? Inno DB ma wewneczne polaczenie (relacje) ale za to jest wolniejszy Cytat ale ja nie jestem leniwy, bo tego szukalem, a o kluczu obcym nikt z poprzednikow nie pisal, A co pisal bendi w 2 poscie? Czy tak trudno wpisac te 3 slowa kluczowe w google? Cytat CREATE TABLE -> type InnoDB a później FOREIGN KEY -> ondelete cascade Cytat jak ktos nie wie, to go naprowadzcie, a nie rzucacie jakimis haslami Wydawalo mi się ze to jest to samo. -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 149 Pomógł: 0 Dołączył: 18.04.2004 Skąd: Z nikąd Ostrzeżenie: (30%) ![]() ![]() |
(...)
a to innodb jest duzo wolniejsze od myisam? ![]() chodzi mi o to, że czy jest sens robić tabele innodb, czy lepiej pozostawic myisam?? bo w sumie mogę to trochę inaczej zrobić, ale oczywiscie z kaskadowym byloby lepiej Ten post edytował koskitos 17.06.2006, 14:22:26 -------------------- kOskiToS :D
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
(...) a to innodb jest duzo wolniejsze od myisam? ![]() Pewnie przy większej ilości zapytań zauważysz różnice. Nie wiem - niech się wypowiedzą inni. chodzi mi o to, że czy jest sens robić tabele innodb, czy lepiej pozostawic myisam?? bo w sumie mogę to trochę inaczej zrobić, ale oczywiscie z kaskadowym byloby lepiej To od Ciebie zależy. MyIsam nie obsługuje transakcji. Ja zrezygnowałem z cascade - aplikacja sama tego pilnuje. Natomiast transakcje się przydają. Nie wszystkie tabele muszą być innodb. częśc może być myisam - jak Ci wygodniej. -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]()
Post
#13
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Przede wszystkim narzut czasowy jest przy operacjach modyfikowania stanu bazy. Co lepsze wedlug mnie InnoDB przynajmniej prawie zawsze z tego korzystam bo jest obsluga transakcij. Jesli operujesz tylko na jednej tabeli to wsumie da sie obejsc ale jesli masz np 2 tabele i musisz wymusic powiazanie to sie az prosi InnoDB.
Testuj testuj i sam sie przekonasz co jest lepsze. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 31.07.2025 - 08:42 |