Prawdopodobnie powinieneś zaktualizować wartości w oparciu nie tylko o wartość value
ale na wartości key
, w przeciwnym razie możesz zmienić „m” na „mężczyzna”, gdy kluczem jest „rozmiar koszuli”.
UPDATE `DemoGroup`
SET `value` = CASE
WHEN (`key`, `value`) = ('gender', 'm') THEN 'male'
WHEN (`key`, `value`) = ('gender', 'f') THEN 'female'
WHEN (`key`, `value`) = ('age', '10') THEN '10-19'
WHEN (`key`, `value`) = ('age', '80') THEN '80-89'
ELSE `value` -- no-op for other values
END
WHERE `key` IN ('gender','age');