Specificare più di un elemento nella clausola in cui
-
20-09-2019 - |
Domanda
C'è un modo ho potuto eseguire il 'codice di logica' a lavorare in realtà?
$sql=mysql_query("DELETE FROM users WHERE id='3,4,5,9'");
Io fondamentalmente voglio dare una casella di spunta a spuntare per tutte le righe visualizzate il mio utente, si può poi scegliere quelli da rimuovere. Voglio solo di rimuovere più di una riga con l'id specificato?
Tutte le idee?
Soluzione
Che dire:
$sql=mysql_query("DELETE FROM users WHERE id IN (3, 4, 5, 9)");
fornito:
- gli ID sono numerici nel DB
- che si desidera eliminare utente 3, e cancellare l'utente 4, e cancellare l'utente 5 ed eliminare utenti 9
E, naturalmente, se gli ID sono stringhe:
$sql=mysql_query("DELETE FROM users WHERE id IN ('3', '4', '5', '9')");
Per maggiori informazioni, consultare:
-
IN()
- E, perché no: subquery con EVENTUALI, IN, e alcuni
Altri suggerimenti
È possibile utilizzare l'operatore IN per questo.
DELETE ... WHERE id IN (3,4,5,9)
Utilizzare una clausola WHERE IN
.
DELETE FROM users WHERE id IN (3, 4, 5, 9);
Hai provato a usare IN
DELETE FROM users WHERE id IN (3,4,5,9)
Anche se nelle mie applicazioni ho mai cancellare niente. Invece ho una bandiera attivo che ho impostato su false.
UPDATE users set active=0 where id in (3,4,5,9)
Tutte le query quindi hanno una clausola where per active=1
e 1 è il valore predefinito per la bandiera attiva nella tabella.
È possibile utilizzare al posto di in
=
.
per es.,
DELETE FROM users WHERE id IN (3,4,5,9);
$sql=mysql_query("DELETE * FROM table WHERE id IN (3,4,5,9)");