Reputation: 73
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.
Upvotes: 7
Views: 25201
Reputation: 1
How about this?
UPDATE participantes SET confirmado = 1 WHERE id >= 19 AND id != 50 AND id != 51;
Upvotes: 0
Reputation: 1857
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.
Upvotes: 9
Reputation: 5227
To accomplish what you're describing, I would, instead, use the IN
clause:
UPDATE participantes SET confirmado = 1 WHERE id IN(19, 20, 21);
Upvotes: 10