Aiuto per una query di eliminazione

  • Creatore Discussione Creatore Discussione Jizzy
  • Data di inizio Data di inizio

Jizzy

Nuovo Utente
4 Lug 2008
16
0
1
Chiedo lumi per come impostare una query... mi sto accingendo da poco al pho mysql e spero di poter risolvere.
Ho nel database due tabelle.
La tabella A contiene una serie di campi tra cui il campo indirizzo email.
La tabella B che chiameremo black-list contiene una serie di indirizzi email.

Quel di cui ho bisogno è creare una query che mi elimini dalla tabella A tutte le righe dove c'è un indirizzo email contenuto nella tabella B
Grazie per l'aiuto
 
la query potrebbe essere cosi
Codice:
DELETE FROM tabellaA 
            WHERE email IN (
                  SELECT email FROM tabellaB
                  )
testala
 
Grazie mille, funziona bene

Salve, a distanza di tempo ho ritrovato questo mio vecchio post.

Sembra che la query con l'aggiornamento al php 5.4.26 non funzioni più.

Non dà errore però non esegue la query. O meglio dice ricevo il messaggio che la query è stata eseguita ma non cancella mai nulla. Ho verificato invece avrebbe dovuto procedere con le eliminazioni.
Chiedo lumi grazie
 
quanto suggerito da criric è sicuramente funzionante,

in ogni caso, controlla così,
Codice:
select distinct A.email from tabellaA A 
inner join tabellaB B
on A.email = B.email
order by A.email
se tabellaB fosse estremamente grande e contenesse anche doppioni,
per ridurre il numero di elementi selezionati
(sperando che su tabellaB ci sia un indice per email)
puoi modificare la select con,

Codice:
DELETE FROM tabellaA 
  WHERE email IN (
    SELECT distinct email FROM tabellaB
      where tabellaB.email = tabellaA.email
  )
se nel frattempo non avessi risolto, posta il codice che esegue la delete
ciao
Marino

ps lascerei ad un passo successivo la versione
 
Vi ringrazio. Ho risolto ed andava bene anche la prima query.
Il problema era dovuto al mio editor che con il copia/incolla codificava gli apici dei campi in modo non corretto.
Sono alle prime armi e questi sono errori da principiante.
 

Discussioni simili