我已经完成了漫长而艰难的过程,但我知道它可以更快更容易地完成;)
如果我有一个名为“puzzle_level”的列,我希望每条puzzle_level = 5的记录有10分,如果puzzle_level = 6,每条记录有25分,如果puzzle_level = 7,则为50分;
快速编辑,我实际上需要 PHP 中的 varialbe total,所以它是 $total_points = $sql_formula
您可以简单地使用条件CASE
表达式来做到这一点:
SELECT
points +
CASE puzzle_level
WHEN 5 THEN 10
WHEN 6 THEN 25
WHEN 7 THEN 50
END AS totalpoints
FROM your_table
这会将基于uzzle_level 的点数添加到points
列中的总点数中。
然后,只需'totalpoints'
在 PHP 中引用该列。
UPDATE `table`
SET `points` =
IF `puzzle_level` = 5 THEN 10
ELSEIF `puzzle_level` = 6 THEN 25
ELSEIF `puzzle_level` = 7 THEN 50
END IF