Het klinkt alsof je zoiets zoekt:
UPDATE tbl_accounts
SET nation_id =
CASE id_account
WHEN 3 THEN 3331
WHEN 5 THEN 5551
ELSE nation_id
END,
group_id =
CASE id_account
WHEN 3 THEN 3332
WHEN 5 THEN 5552
ELSE group_id
END
Maar aparte updates doen is in deze situatie een verstandige oplossing. Voor de bovenstaande query moet elke rij in de tabel worden gecontroleerd om te zien of deze overeenkomt met de voorwaarde. Als u een index op id_account heeft (en vermoedelijk doet u wat het lijkt op de primaire sleutel), dan zal het erg snel zijn om een enkele rij bij te werken.
UPDATE tbl_accounts SET nation_id = 3331, groupid = 3332 WHERE id_account = 3
UPDATE tbl_accounts SET nation_id = 5551, groupid = 5552 WHERE id_account = 5