我正在尝试更新一个编码非常糟糕的网站,并且我认为这个多个 IF 语句中有一个错误。我已经在 Google 上搜索了一段时间,但找不到 MySQL UPDATE 查询中多个 IF 的任何示例。
我们的想法是,我们希望根据行的不同列来更新行的特定列。
这是查询:
$sql = "UPDATE `pet_colors` AS c
SET c.inshop =
IF(c.rarity='1', '25',
IF(c.rarity='2', '10',
IF(c.rarity='3', '3', '1')))
WHERE c.species='{$p->species}' AND c.buyable='1' LIMIT ".rand(1,3));
非常感谢任何帮助。
最佳答案
不,我不认为这是一个错误,而是一组嵌套的 IF。我认为用案例陈述会更容易理解。
例如
Case c.rarity
When '1' then '25'
When '2' then '10'
When '3' then '3'
Else '1'
End
关于mysql - 这个 MySQL 查询有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2232958/