/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MySQL - pseudo-delete-cascade
Fra : Sune Vuorela


Dato : 21-03-05 22:22


Hejsa!

Jeg har to tabeller:

|file   |
|-------|
|id   |
|name   1
|size   |

og

|ass   |
|-------|
|id   |
|fileid |
|catid   |

Hvordan fjerner jeg alle de poster fra file, som har et id, der ikke
findes som fileid i ass ?


og den anden vej: Hvordan fjerner jeg alle de poster fra ass, som har et
fileid med en værdi som ikke findes i file?


På forhånd tak

Sune

 
 
Leif Neland (22-03-2005)
Kommentar
Fra : Leif Neland


Dato : 22-03-05 10:18

Sune Vuorela wrote:
> Hejsa!
>
> Jeg har to tabeller:
>
>> file |
>> -------|
>> id |
>> name 1
>> size |
>
> og
>
>> ass |
>> -------|
>> id |
>> fileid |
>> catid |
>
> Hvordan fjerner jeg alle de poster fra file, som har et id, der ikke
> findes som fileid i ass ?
>
delete file.* from file left join ass on (ass.fileid=file.id) where
ass.fileid is null
>
> og den anden vej: Hvordan fjerner jeg alle de poster fra ass, som har
> et fileid med en værdi som ikke findes i file?
>

Delete ass.* from ass left join file on (ass.fileid=file.id) where file.id
is null;

Leif



Sune Vuorela (23-03-2005)
Kommentar
Fra : Sune Vuorela


Dato : 23-03-05 13:55

On 2005-03-22, Leif Neland <leifn@neland.dk> wrote:
>> Hvordan fjerner jeg alle de poster fra file, som har et id, der ikke
>> findes som fileid i ass ?
>>
> delete file.* from file left join ass on (ass.fileid=file.id) where
> ass.fileid is null

Takker - det virkede.
Dog ville jeg være smart, da tabelnavnet indsættes med php - at bruge
'forkortelser' a la "delete f.* from".$php-var." f left join ...
Men mysql kan ikke lide forkortelser i delete-delen.
Så lærte jeg også det.

--
Sune

Kristian Damm Jensen (22-03-2005)
Kommentar
Fra : Kristian Damm Jensen


Dato : 22-03-05 10:28


Sune Vuorela wrote:
> Hejsa!
>
> Jeg har to tabeller:
>
> |file   |
> |-------|
> |id   |
> |name   1
> |size   |
>
> og
>
> |ass   |
> |-------|
> |id   |
> |fileid |
> |catid   |
>
> Hvordan fjerner jeg alle de poster fra file, som har et id, der ikke
> findes som fileid i ass ?
>
>
> og den anden vej: Hvordan fjerner jeg alle de poster fra ass, som har
et
> fileid med en værdi som ikke findes i file?

Brug "not exists(...)"

VH
Kristian


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408188
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste