Avatar billede supermand69 Nybegynder
27. februar 2005 - 12:46 Der er 6 kommentarer og
1 løsning

DELETE med LEFT JOIN

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 arne_v Ekspert
27. februar 2005 - 13:12 #1
MySQL 4.1:

DELETE FROM user_party WHERE user_id NOT IN (SELECT id FROM user)
Avatar billede arne_v Ekspert
27. februar 2005 - 13:14 #2
ældre MYSQL prøv:

DELETE FROM user_party USING user_party LEFT JOIN user ON user_party.user_id=user.id WHERE user.id IS NULL
Avatar billede supermand69 Nybegynder
27. februar 2005 - 15:10 #3
jeg får en fejl... hvad gør jeg galt?

mysql_query("DELETE FROM $DB.user_party user_party USING $DB.user_party user_party LEFT JOIN $DB.user user ON user_party.user_id=user.id WHERE user.id IS NULL")or die(mysql_error());

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'user_party USING electrobeat_dk_db2.user_party user_party LEFT
Avatar billede supermand69 Nybegynder
27. februar 2005 - 15:11 #4
ups...

mysql_query("DELETE FROM $DB.user_party user_party USING $DB.user_party user_party LEFT JOIN $DB.user user ON user_party.user_id=user.id WHERE user.id IS NULL")or die(mysql_error());
Avatar billede arne_v Ekspert
27. februar 2005 - 15:12 #5
Hvilken version af MySQL ?
Avatar billede supermand69 Nybegynder
27. februar 2005 - 15:23 #6
jeg bruger under 4.0.2

jeg har fundet fejlen :) jeg skal ikke skrive user_party efter DELETE FROM $DB.user_party

lav et svar :)
Avatar billede arne_v Ekspert
27. februar 2005 - 15:36 #7
ok
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