我有一个MYSQL表。 当用户超过20岁时,他应该得到5分(设置字段值= 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'
答案 0 :(得分:0)
学习做一些调试。将您的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'
从结果中您可以看到您的查询有什么问题。