..


Sponzorirani linkovi

Brisanje one tablice pomoću PRIDRUŽITE

Članak je napisao Max Bossi

U ovom kratkom članku ćemo vidjeti kako upit možete izbrisati (DELETE) iskorištavaju potencijal JOIN, tj. stvaranje odnosa između tablica u MySQL.
U stvari smo već vidjeli kako koristiti JOIN u odabiru podataka (SELECT) i ažurira (UPDATE) ovdje ćemo samo da će proširiti ono što je već naučio.

Kako bolje učiti potencijal ove tehnike treba uzeti u obzir, kao i naše navika, preuzeti slučaj korištenja.

Recimo moramo raditi na bazi podataka hipotetski skladišta sastoji se od sljedećih tablica (koje opisuju njihove strukture):

  • police
    • id (int)
    • opis (varchar)
  • police
    • id (int)
    • scaffale_id (int)
    • opis (varchar)
  • proizvodi
    • id (int)
    • ripiano_id (int)
    • Ime (varchar)
    • cijena (float)
Sada pretpostavimo da imate potrebu da se eliminiraju proizvoda. Mi adresu sljedeća tri različite rezultate.

1) Pretpostavimo da želite izbrisati jedan proizvod koji znate ID. U tom slučaju možete samo pokrenuti trivijalan upit:

 



 DELETE * FROM proizvode gdje id = 1;

 
2) isti upit će se koristiti ako želite izbrisati sve proizvode naguranih u određenom polica:
 



 DELETE * FROM proizvode gdje ripiano_id = 1;

 
3) Ali, ako želite izbrisati sve proizvode prisutan u polici?
Jednostavan upit poput onih vidio ranije ne bi bilo moguće jer je u "proizvodi" ne postoji polje koje reference polici!

Zapravo problem nije nepremostiv! s malo 'spretnost u rukovanju upite, u stvari, prepreka je lako izigrane! Kako? s PRIDRUŽITE SE! Evo primjer:

 



 DELETE proizvoda .*







 Od proizvoda INNER JOIN policama







 O = prodotti.ripiano_id ripiani.id







 GDJE ripiani.scaffale_id = 1;



Na taj način smo stvorili odnos između dvije tablice "proizvodi" i "polica" (temelji se na polju pridruživanje "ripiano_id" u prvoj tablici koja odgovara drugi identifikator), kako bi iskoristile polje "scaffale_id" ove " zadnji.

Na prvi pogled, možda, može činiti pomalo kompliciranim ... je zapravo prilično jednostavna. Radi se o stvaranju logički odnos između dvije tablice kako bi se koristiti informacije za upravljanje prvi drugi.

Ako je, osim proizvoda, željeli smo ukloniti sve police odgovara zadanom polici pututo koristimo malo drugačiji upit:

 



 DELETE proizvoda .*, police .*







 Od proizvoda INNER JOIN policama







 O = prodotti.ripiano_id ripiani.id







 GDJE ripiani.scaffale_id = 1;



U biti to je pogled odmah iznad upit s jedinom razlikom da otkaza neće utjecati ne samo polja u tablici "proizvoda":
 



 proizvoda .*

 
ali i onih na stolu "police":
 



 police .*

 
Za pitanja ili zahtjeve vas pozivam na post na našim forumima .

U istoj kategoriji ...
E-učenje
MS Access (tečaj) MS Access (tečaj)
Saznajte kako stvoriti i upravljati bazama podataka jednostavno i brzo. Počevši od 29 €.
MySQL (tečaj) MySQL (tečaj)
Upravljanje open-source baza podataka. Počevši od 39 €.
SQL i baze podataka (tečaj) SQL i baze podataka (tečaj)
Stvaranje i upravljanje relacijskim bazama podataka. Počevši od 39 €.
Sponzorirani linkovi