php - 如何在 MySQL 中设置相反的条件?

标签 php mysql sql

我有这个查询:

$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

我想与该条件的值相反。我的意思是,我想在 $boolfalse 时运行该条件,而在 true 时不运行它。

我可以在通过 php 之前做到这一点:

$bool = !$bool;

但是我想知道我可以在MySQL的查询中做到这一点吗?

最佳答案

使用:

... AND NOT ? THEN 15

关于php - 如何在 MySQL 中设置相反的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37846384/

相关文章:

php - 自动生成 RSS 提要

php - 使用以下命令从表中的所有行中获取单元格的数据

php - 静态变量连接先前的结果值 php

mysql - 显示学生人数最多的院系名称

mysql - SQL 选择其他表中每个 id 的不同行

java - 加密 Hibernate 中的特定列 : What to do with existing data and how to correctly implement @ColumnTransformer?

php - 显示 json 数据以查看为字符串或数组

php 脚本不更新 mysql 行

php - Drupal TB mega 菜单太慢了

sql - 更改表以使 MEMORY_OPTIMIZED=ON 错误 SQL Server 2017