gpt4 book ai didi

php - 使用 CASE WHEN THEN 语句更新 MySQL 表中的多行 - 不起作用

转载 作者:行者123 更新时间:2023-11-29 06:04:30 26 4
gpt4 key购买 nike

这让我抓狂,因此我们将不胜感激。

我正在尝试按用户给出的数字增加表格特定行中​​的总点数。我有一些 PHP 可以根据表单输入动态生成此语句:

UPDATE users SET points = CASE userID 
WHEN 11 THEN (points + 1)
WHEN 16 THEN (points + 6)
WHEN 7 THEN (points + 7)
WHEN 10 THEN (points + 10)
WHERE userID IN (11,16,7,10)
END

由于多个访问器的问题,我不想将值存储在 PHP 变量中。

最佳答案

你的语法错误。

您需要在 WHERE 之前添加“END”:

UPDATE users
SET points =
(CASE userID
WHEN 11 THEN (points + 1)
WHEN 16 THEN (points + 6)
WHEN 7 THEN (points + 7)
WHEN 10 THEN (points + 10)
end)
WHERE userID IN (11,16,7,10)

我重新格式化了查询。我特意将“CASE”的“END”放在同一列中,以防止出现此类问题。

关于php - 使用 CASE WHEN THEN 语句更新 MySQL 表中的多行 - 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12205518/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com