Avatar billede lordsaxo Nybegynder
04. maj 2007 - 12:16 Der er 8 kommentarer og
1 løsning

Slette fra en tabel efter ID fra en anden

Jeg har to tabeller, hvor den ene indeholder en liste med nogle navne og ID, og den anden indeholder blandt andet ID fra den første tabel.

Lad os for nemheds skyld kalde tabellen med ID og navne for A, og den anden for B.

Jeg vil nu slette alle de rækker fra B hvor A.navn har en bestemt værdi, og derfor skal B.ID være lig med A.ID hvor A.navn = 'foobar'.

Men hvordan kan jeg ved MySQL få slettet de rækker i B hvor A.navn = 'foobar' uden at slette rækkerne i A?

På forhånd tak.
Avatar billede dkfire Nybegynder
04. maj 2007 - 12:43 #1
"DELETE FROM tabel as B WHERE B.ID IN (SELECT A.ID FROM tabel2 as A WHERE A.navn='foobar' LIMIT 1)"

tror jeg.
Avatar billede lordsaxo Nybegynder
04. maj 2007 - 15:01 #2
Det virker desværre ikke. Jeg får en fejl efter IN ( og det virker som om min version af MySQL (4.0.2) ikke understøtter dette.

Nogle andre ideer til hvad jeg kan gøre?
Avatar billede dkfire Nybegynder
04. maj 2007 - 17:01 #3
He he. det gør den nok heller ikke desværre.
Avatar billede dkfire Nybegynder
04. maj 2007 - 17:18 #4
Prøv evt at "DELETE FROM tabel as B WHERE B.ID=(SELECT A.ID FROM tabel2 as A WHERE A.navn='foobar' LIMIT 1)"
Avatar billede dkfire Nybegynder
04. maj 2007 - 17:19 #5
hedder dit felt ID ???
Avatar billede lordsaxo Nybegynder
04. maj 2007 - 20:08 #6
dkfire, som sagt får jeg fejlen så snart jeg forsøger at udføre en anden query i min mysql-sætning, dvs. hver gang SELECt starter. Det kunne evt. være fordi det ikke understøttes i 4.0.2?
Hvad mit ID felt hedder har da ikke nogen relevans, eftersom fejlen ikke ligger der? :S
Avatar billede lordsaxo Nybegynder
04. maj 2007 - 22:26 #7
Nå, jeg vil lige sige at jeg opgave og løse det i SQL alene, så jeg fik smækket en ftp-adgang op, ved at lave et lille script der løste problemet for mig..

Men tak for dine svar alligevel, du kan bare smide et svar hvis du gerne vil have points.. ;)
Avatar billede lordsaxo Nybegynder
27. juni 2007 - 10:41 #8
Fandt løsningen selv, og snupper selv point.
Avatar billede dkfire Nybegynder
27. juni 2007 - 13:52 #9
ja det er vist noget med at version 4.0 ikke lige kan lave to forespørgelser i en.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester