SMItalia WebinWeb.net
24 Maggio 12, 03:49:48 *
Benvenuto, Visitatore. Per favore, effettua il login o registrati.
Hai perso la tua email di attivazione?

Login con username, password e lunghezza della sessione
News: "C'è un vero Progresso solo quando i Vantaggi di una Nuova Tecnologia sono per Tutti"
 
  Home   Forum   Help Login Registrati  
Pagine: [1]   Vai Giù
  Stampa  |  Bookmarks  
Autore Topic: query mysql per eliminare più utenti in una volta  (Letto 918 volte)
0 Utenti e 1 Visitatore stanno guardando questo topic.
daeron
Newbie
*
Offline Offline

Sesso: Maschile
Posts: 17


Guarda Profilo
« il: 11 Luglio 10, 23:37:35 »

Ciao ragazzi.
Dovrei eliminare dal mio forum circa 1500 utenti le cui mail ormai non sono più attive. Ho provato con questa query (non ci capisco quasi nulla di mysql) ma chiaramente non ha funzionato.

DELETE FROM smf_members WHERE  emailAddress='email@email.it,email2@email.it,email3@email.it'

Potete aiutarmi?

Vorrei evitare di eliminare uno ad uno tutti gli account o di continuare a ricevere una valanga di mailerdaemon quando invio qualche annuncio.

Grazie


Ho provato anche così ma nulla Sad:
DELETE FROM `sql_88291`.`smf_members` WHERE `smf_members`.`emailAddress` = 'email@email.it' 'email2@email.it'
« Ultima modifica: 11 Luglio 10, 23:55:24 da daeron » Loggato
alan86
Jr. Member
**
Offline Offline

Sesso: Maschile
Posts: 61



Guarda Profilo WWW
« Risposta #1 il: 12 Luglio 10, 10:13:34 »

il motivo è dato dal fatto che non puoi imporre una uguaglianza tra un oggetto ed una lista di oggetti. questo è un concetto che vale in generale ed è valido anche in ambito di programmazione (c, php, sql o quel che è).

nel tuo caso dovresti eseguire la query strutturata in questo modo
Codice: (sql)
DELETE FROM smf_members WHERE emailAddress IN ("email1", "email2", "email3");

in questo caso la condizione per l'eliminazione si traduce in "se la mail è presente nell'elenco"
Loggato

daeron
Newbie
*
Offline Offline

Sesso: Maschile
Posts: 17


Guarda Profilo
« Risposta #2 il: 12 Luglio 10, 21:43:29 »

Grazie mille Cheesy

ora è un pò più chiaro. Ho visto che funziona anche in questo modo:

Codice:
DELETE FROM  smf_members WHERE  emailAddress=email'  OR emailAddress='email2' OR  emailAddress=email3'


il problema ora sta nell'inserire prima di ogni indirizzo email le virgolette..

Ciao e grazie

Loggato
alan86
Jr. Member
**
Offline Offline

Sesso: Maschile
Posts: 61



Guarda Profilo WWW
« Risposta #3 il: 12 Luglio 10, 21:48:09 »

non per vantarmi della mia soluzione, ma ti sconsiglio di utilizzare la tua versione in quanto ti ritrovi a scrivere ogni volta il nome del campo da controllare. utilizzando IN la query risulta più corta e più leggibile/intuibile.
Loggato

Pagine: [1]   Vai Su
  Stampa  |  Bookmarks  
 
Salta a:  


+ Thread Correlati o Similari
Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines | TinyPortal v0.9.7 © Bloc XHTML 1.0 Valido! CSS Valido!

Tutti i contenuti di SMItalia sono pubblicati secondo la licenza di utilizzo di Creative Commons, salvo diverse indicazioni. Lo Staff non assume alcuna responsabilità nel caso di eventuali errori contenuti negli articoli o di errori in cui fosse incorso nella loro riproduzione sul sito. Tutte le pubblicazioni su SMItalia avvengono senza eventuali protezioni di brevetti d'invenzione; inoltre, i nomi coperti da eventuale marchio registrato vengono utilizzati senza tenerne conto.

Pagina creata in 0.203 secondi con 26 queries.| ServerUptime: 289 days, 5 hours, 19 minutes