Avatar billede tamen Nybegynder
15. februar 2007 - 17:03 Der er 5 kommentarer og
1 løsning

Slet poster med en id der ikke er i en anden tabel.

Hejsa,

Jeg skal vedligeholde et statistik-system hvor en tabel har oplysningerne om hvilke film der er blevet set og en anden tabel oplysningerne om filmene. Nu er nogen af filmene blevet slettet og siden crasher derfor når den prøver at vise statistik for en film der ikke finde i film-tabellen.

Den rigtige løsning ville selvfølgelig være at lave statistik-systemet om, så det kan vise data for de slettede film. Men det bliver jeg ikke betalt for, desværre.

Mit spørgsmål er derfor: Er der en "nem" mysql-kommando der der sletter de poster i log-tabellen der har en movie_id der ikke findes i tabellen movies?
Avatar billede hmortensen Nybegynder
15. februar 2007 - 17:30 #1
Måske sådan her:
DELETE FROM statistik WHERE movie_id NOT IN (SELECT movie_id FROM movies)
Avatar billede tamen Nybegynder
15. februar 2007 - 17:32 #2
Hmm... Det ligner da i hvert fald noget. Mon ikke man skulle smide en UNIQUE ting ind i den sidste del?
Avatar billede hmortensen Nybegynder
15. februar 2007 - 17:33 #3
Du har vel kun hvert movie_id én gang i movies tabellen.
Avatar billede tamen Nybegynder
15. februar 2007 - 17:36 #4
Nevermind. If it aint broke, dont fix it. Det virker perfekt. Smid et svar hvis du vil have points.
Avatar billede hmortensen Nybegynder
15. februar 2007 - 17:40 #5
:)
Avatar billede tamen Nybegynder
15. februar 2007 - 17:48 #6
Øv, så ok da. Du har ret. Fik lige mixet de to tabeller sammen.
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