Вероятно трябва да актуализирате стойностите въз основа не само на стойността на value
но на стойността на key
, в противен случай можете да актуализирате 'm' на 'male', когато ключът е 'shirt-size'.
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');