У меня есть таблица MYSQL. Когда пользователю исполнилось более 20 лет, он должен получить 5 баллов (задано полевое value = 5). Когда пользователю менее 20 лет, он должен получить 10 баллов, заданных fieldvalue = 5.
Вместо того, чтобы устанавливать значения полей 5 и 10, он просто делает значения пустым в первый раз и не работает снова. Что я делаю неправильно?
UPDATE 'TABLE' SET 'FieldValue' = CASE
WHEN 'FieldName' = 'age' and 'FieldValue' = 'over 20 years' THEN '5'
when 'FieldName' = 'age' and 'FieldValue' = 'less than 20 years' THEN '10'
END
WHERE 'FieldName' = 'pointsforage'
Научитесь выполнять некоторую отладку. Поверните UPDATE
в SELECT
чтобы проверить значение.
SELECT *
, (
CASE
WHEN 'FieldName' = 'age' and 'FieldValue' = 'over 20 years' THEN '5'
when 'FieldName' = 'age' and 'FieldValue' = 'less than 20 years' THEN '10'
END
) test
FROM TableName
WHERE 'FieldName' = 'pointsforage'
В результате вы увидите, что не так с вашим запросом.
FieldName = 'pointsforage'
.