Het is niet nodig om het te verpakken met een andere CASE/COALESCE/IFNULL of wat dan ook, gebruik gewoon de CASE EXPRESSION ELSE , in het geval dat niet aan alle voorwaarden is voldaan, de ELSE zal worden gebruikt.
UPDATE users
SET reputation = reputation +
CASE WHEN id = ? THEN 2
WHEN id = ? AND NOT ? THEN 15
ELSE 0
END
WHERE id IN (?, ?);