我有这个查询:
$db
->prepare("UPDATE users
SET reputation = reputation +
CASE
WHEN id = ? THEN 2
WHEN id = ? AND ? THEN 15
END
WHERE id IN (?, ?); ")
->execute(array($author_ques_id, $author_ans_id, $bool, $author_ans_id, $author_ques_id));
请关注此条件:
WHEN id = ? AND ? THEN 15
// ^ this is containing a boolean value
我想与该条件的值相反。我的意思是,我想在 $bool
为 false
时运行该条件,而在 true
时不运行它。
我可以在通过 php 之前做到这一点:
$bool = !$bool;
但是我想知道我可以在MySQL的查询中做到这一点吗?
最佳答案
使用不
:
... AND NOT ? THEN 15
关于php - 如何在 MySQL 中设置相反的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37846384/