user3590264
user3590264

Reputation: 73

PHP MYSQL UPDATE WHERE multiple conditions

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

Answers (3)

Ardi
Ardi

Reputation: 1

How about this?

UPDATE participantes SET confirmado = 1 WHERE id >= 19 AND id != 50 AND id != 51;

Upvotes: 0

Noah
Noah

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

Aaron
Aaron

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

Related Questions