Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Moze li se ovo uraditi sa jednim query-jem?

[es] :: MySQL :: Moze li se ovo uraditi sa jednim query-jem?

[ Pregleda: 2085 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

NetworkAdmin

Član broj: 4445
Poruke: 609
*.ppp-01.sa.lol.ba.



Profil

icon Moze li se ovo uraditi sa jednim query-jem?09.04.2004. u 15:56 - pre 243 meseci
Ovako imam tabela1 u njoj `id` i data paolja u koja su smjesteni podaci koji cesto trebaju a u tabela2 u njoj isto `id` koji odgovara `id` u tabela1 u dodatna polja u koja je smjesteno ostatak podataka za id iz tabela1 ali se oni jako rijetko koriste pa su izdvojeni u posebnu tabelu.

Sad neko je brisao odredjene rekorde iz tabela1 ali ne i iz tabela2 tako da sada u tabela2 ima sirochica koji vise.

Mogu li se oni obrisati jednim query?
MySQL je baza innodb tabele.
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
212.200.53.*

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Moze li se ovo uraditi sa jednim query-jem?09.04.2004. u 16:45 - pre 243 meseci
Delete from tabela2 where tabela2.id != tabela1.id;
Ovako nesto... Barem bi trebalo...
JaFreelancer.com
 
Odgovor na temu

NetworkAdmin

Član broj: 4445
Poruke: 609
*.access-sa1.lsinter.net



Profil

icon Re: Moze li se ovo uraditi sa jednim query-jem?09.04.2004. u 18:19 - pre 243 meseci
jeste to bi obrisalo cjelokupnu tabela2
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.dialup.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Moze li se ovo uraditi sa jednim query-jem?09.04.2004. u 20:34 - pre 243 meseci
Code:
DELETE tabela2
FROM tabela2
  LEFT JOIN tabela1
  ON tabela2.id = tabela1.id
WHERE tabela1.id IS NULL

 
Odgovor na temu

NetworkAdmin

Član broj: 4445
Poruke: 609
*.ppp-01.sa.lol.ba.



Profil

icon Re: Moze li se ovo uraditi sa jednim query-jem?09.04.2004. u 23:10 - pre 243 meseci
E sad sam htio da postavim podpitanje, kako obezbjediti mehanizam kadse obrise nesto u tabeli1 da obrise i rekord u tabeli2 a da to ne mora misliti neki pametni programer i odmah obadvoje uraditi nego da to baza sama radi?
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.dialup.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Moze li se ovo uraditi sa jednim query-jem?09.04.2004. u 23:39 - pre 243 meseci
Citat:
Internet ogledalo, Broj 49
Aleksandar Babović: Baze podataka i Linux
PostgreSQL ili MySQL ?
ACID kompatibilnost
...
Konzistencija znači da nije moguće dilimično izvršenje transakcije. Ako se desi da jedan deo transakcije ne uspe, baza se vraća u prvobitno stanje. Primer je brisanje osobe iz, recimo, baze zaposlenih. Kada obrišemo jednu osobu, potrebno je da obrišemo i sve podatke o njoj iz ostalih tabela. Dobro konfigurisna baza ne dozvoljava brisanje osobe ako se ne obrišu svi podaci vezani za tu osobu.
...
konzistencija:
PostgreSQL - DA
MySQL - NE

U prevodu bi odgovor na tvoje pitanje bio - NE.

MySQL nema mogućnost definicije referencijalnih integriteta između tabela i uspostavljanje šeme relacija baze. Tako i nema informaciju koji su podaci iz različitih tabela u vezi pa ne može da obezbedi mehanizam zaštite brisanja pre provere postojanja zavisnih podataka ili, recimo, kaskadno brisanje vezanih podataka po zahtevu za brisanje iz vodeće tabele.

Bilo bi lepo da to, kao i neke druge stvari, funkcioniše u ovoj SQL varijanti, ali raduje me da MySQL ipak napreduje u svojim mogućnostima.

Zasad programer mora da zna da sastavi lep MySQL zahtev i putem programa vodi računa o vezama u bazi.
 
Odgovor na temu

[es] :: MySQL :: Moze li se ovo uraditi sa jednim query-jem?

[ Pregleda: 2085 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.