Wpis z mikrobloga

Witam szanownych Mireczków,

Stawiam pierwsze kroki w SQLu i zastanawiam się jak ugryźć temat metod aktualizacji i kasowania w przypadku tabeli relacyjnych. Przykładowo wykonuję INNER JOIN dla czterech tabel po konkretnych kluczach. Dane pobieram do aplikacji i wyświetlam. Skoro korzystam z czterech połączonych tabel, czy istnieje możliwość jednoczesnego zaktualizowania poszczególnych elementów w każdej z tabel za pomocą jednego query? Czy muszę pisać dla każdej z nich oddzielne query? Jak sprawa ma się w przypadku DELETE. Kasuję wpis z głównej tabeli, gdzie przykładowo posiadam numer zadania i chcę, zeby zalezny rekord w innej tabeli został również usunięty.

#javascript #sql #programowanie #php
  • 6
@PIENSCI_WONSZA: Jeśli chcesz wywalić rekordy od siebie zależne jednym deletem to porób tak FK, aby umożliwiały kaskadowe usuwanie. Zawsze jest jakaś tabela "nadrzędna" więc nie ma sensu wywalanie wszystkiego na ślepo. Choćby dlatego, że mogą istnieć jakieś triggery before/after delete które mogą narobić trochę bałaganu tak gdzie tego nie chcesz.

Podobnie rzecz się ma z updatem. Jeśli to tabele raczej niezależne (klient, adres) updatujesz oddzielnie, jeśli zależne (faktury - pozycja) możesz