Pregunta

I was wondering if you can do an Update with multiple conditions like so:

UPDATE participantes SET confirmado = 1 WHERE id = 19 AND id = 20 AND id = 21;

participantes -> Table

confirmado -> field of the table participantes.

¿Fue útil?

Solución

MySQL's AND clause will only work when ALL of the criteria are met. What you're looking for is OR. In the format that you provided:

UPDATE participantes SET confirmado = 1 WHERE id = 19 OR id = 20 OR id = 21;

Although, the above-noted IN (19, 20, 21) would be better for this specific use case.

Your original query was trying to look for a single row where id was simultaneously 19, 20, and 21, which would never happen.

Otros consejos

To accomplish what you're describing, I would, instead, use the IN clause:

UPDATE participantes SET confirmado = 1 WHERE id IN(19, 20, 21);

How about this?

UPDATE participantes SET confirmado = 1 WHERE id >= 19 AND id != 50 AND id != 51;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top