Avatar billede supermand69 Nybegynder
13. december 2004 - 16:11 Der er 6 kommentarer og
1 løsning

DELETE med LEFT JOIN

er det muligt at lave en delete med en left join? hvis ja, sletter den så "hovedrækk" - altså fra den table som står efter FROM?
Avatar billede dsj Nybegynder
13. december 2004 - 16:14 #1
Du kan, specifikt gældende for MySQL, anvende syntaksen:

DELETE FROM <table> USING <table1> LEFT JOIN <table2> ON... WHERE...

Hvor der slettes fra <table>.
Avatar billede dsj Nybegynder
13. december 2004 - 16:17 #2
Det er dog også muligt at slette fra flere tabeller på samme tid, se http://dev.mysql.com/doc/mysql/en/DELETE.html

På denne side er vist to eksempler på DELETE med flere tabeller:

DELETE t1, t2 FROM t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;

og:

DELETE FROM t1, t2 USING t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;
Avatar billede fennec Nybegynder
13. december 2004 - 16:22 #3
... og husk avanceret delets er først understøttet efter version 4.0 (nogle først i senere versioner), så tjek lige din version, inden du begynder :o)
Avatar billede dsj Nybegynder
13. december 2004 - 16:24 #4
Første syntaks understøttes fra og med MySQL 4.0.0, og den anden syntaks er først understøttet fra og med MySQL 4.0.2, så hvis du sidder med en MySQL 3.*, har du kun muligheden for at bruge den syntaks, der egentlig holder sig til SQL ´92 standarden:

DELETE FROM <table> WHERE...
Avatar billede supermand69 Nybegynder
19. december 2004 - 17:22 #5
dsj > jeg er ikke helt med på hvordan det virker?

DELETE FROM <table> USING <table1> LEFT JOIN <table2> ON... WHERE...
Avatar billede supermand69 Nybegynder
27. februar 2005 - 11:41 #6
Jeg har følgende 2 tabeller

user
id | name | ...

user_party
user_id | party_id

Jeg vil så slette fra 'user_party' hvor 'user_id' ikke længere eksisterer i tabellen 'user'
Avatar billede supermand69 Nybegynder
27. februar 2005 - 12:46 #7
lukker
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