Especifique mais de um item na cláusula WHERE

votos
1

Existe alguma maneira eu poderia executar o seguinte 'código lógico' que realmente funciona?

$sql=mysql_query(DELETE FROM users WHERE id='3,4,5,9');

Basicamente, eu quero dar o meu usuário uma caixa de seleção para assinalar para todas as linhas exibidas, eles podem escolher quais remover. Eu só quero remover mais de uma linha com a identificação do especificados?

Alguma ideia?

Publicado 26/08/2009 em 23:03
fonte usuário
Em outras línguas...                            


6 respostas

votos
13

Você pode usar o IN operador para isso.

DELETE ... WHERE id IN (3,4,5,9)
Respondeu 26/08/2009 em 23:03
fonte usuário

votos
5

Sobre o quê :

$sql=mysql_query("DELETE FROM users WHERE id IN (3, 4, 5, 9)");

Forneceu :

  • seus ids são numéricos no DB
  • você deseja excluir o usuário 3, e excluir o usuário 4, e excluir o usuário 5, e excluir o usuário 9

E, claro, se os seus ids são strings:

$sql=mysql_query("DELETE FROM users WHERE id IN ('3', '4', '5', '9')");

Para mais informações, consulte:

Respondeu 26/08/2009 em 23:04
fonte usuário

votos
3

Use uma WHERE INcláusula.

DELETE FROM users WHERE id IN (3, 4, 5, 9);
Respondeu 26/08/2009 em 23:04
fonte usuário

votos
2
$sql=mysql_query("DELETE * FROM table WHERE id IN (3,4,5,9)");
Respondeu 26/08/2009 em 23:07
fonte usuário

votos
2

Você já tentou usar IN

DELETE FROM users WHERE id IN (3,4,5,9)

Embora em minhas aplicações eu nunca excluir nada. Em vez disso eu tenho uma bandeira ativa que eu definido como falso.

UPDATE users set active=0 where id in (3,4,5,9)

Todas as consultas, em seguida, ter uma cláusula onde, durante active=1e 1 é o valor padrão para a bandeira ativo na tabela.

Respondeu 26/08/2009 em 23:05
fonte usuário

votos
2

Você pode usar inem vez de =.

Por exemplo,

DELETE FROM users WHERE id IN (3,4,5,9);
Respondeu 26/08/2009 em 23:04
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more