我有一个使用CASE子句MySQL的CASE ... WHERE ... THEN语句
UPDATE partsList SET quantity =
CASE
WHEN partFK = 1 THEN 4
WHEN partFK = 2 THEN 8
END
WHERE buildFK = 1;
上面的语句作品一个MySQL UPDATE语句。然而,当我删除WHEN语句之一时,它会中断,并且错误指示CASE子句不返回任何内容。是否CASE子句必须有多个WHEN才能运作。
我不知道我需要多少更新,所以我试图构建一个可以处理一个或多个更新的更新语句。
感谢您提供的任何见解。
啊,我明白了。我读过数据库评估每行的CASE,所以现在有意义。表格是构建和部分之间的链接,这个表格是数量存储的地方。我可以使用ELSE中的当前值吗?即ELSE数量 – CDspace
是的,'ELSE数量'应该工作。 – recf
太棒了,谢谢你为我清理那个。而为了记录,“ELSE数量”确实有效。 – CDspace