使用 if 条件更新 MySQL

2024-02-02

看来我有很大的问题条件查询.

我必须做一个有条件更新。我在这里写下我想做的事情:

 IF(SELECT tipo FROM abbonamento WHERE idU = 17) = 'punti' THEN
     UDPATE abbonamento SET punti = punti - 1 
 ELSE
     UPDATE abbonamento SET bonus = bonus - 1

显然这是行不通的。
任何想法?


MySQL支持IF陈述。

UPDATE  abbonamento
SET     punti = IF(tipo = 'punti', punti - 1, punti),
        bonus = IF(tipo <> 'punti', bonus - 1, bonus)
WHERE   id = 17

或者你也可以使用CASE

UPDATE  abbonamento
SET     punti = CASE WHEN tipo = 'punti' THEN punti - 1 ELSE punti END,
        bonus = CASE WHEN tipo <> 'punti' THEN bonus - 1 ELSE bonus END
WHERE   id = 17
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 if 条件更新 MySQL 的相关文章

随机推荐

  • 编辑链接列表中的节点

    我正在创建一个学生列表 链接列表 可以添加 查看和编辑学生信息 我有两个字段 即学生姓名和学生成绩 我在列表中添加新学生 其方式是根据学生的成绩降序排列 我已经完成了添加和查看部分 问题出在编辑部分 因为我需要编辑信息 然后我需要再次对其进
  • 将数据表放入shinyjs模式中

    我将 Shiny 与 Shiny Semantic 库一起使用 以使应用程序看起来不错 使用 showModal modalDialog 的标准 Shiny 弹出消息不适用于 Semantic UI 因此我求助于shinyjs 来使用一些
  • 使用 Javascript 更改 CSS 值

    使用 javascript 设置内联 CSS 值很容易 如果我想改变宽度并且我有这样的html div style width 10px div 我需要做的就是 document getElementById id style width
  • 单选按钮组 XAML

    我在 XAML 中有六个单选按钮 我想创建两个组 WPF 似乎没有单选按钮组元素 那么我该怎么做呢 您必须为元素指定一个 GroupName
  • dockerfile 中的 RUN 命令产生的结果与在容器内手动运行相同命令的结果不同

    我正在创建一个包含 gcc 4 8 5 的 Ubuntu 12 04 docker 映像 我正在获取 gcc 4 8 5 源代码并自己构建它 该容器将在 Ubuntu 18 04 主机上运行 引用底部的代码 如果我不将其放入 dockerf
  • 加密 JWT 安全令牌支持的算法

    我正在尝试使用以下代码片段对我的 JWt 进行签名和编码 var claims new Claim new SomeClaimes var scKey Encoding UTF8 GetBytes SOME KEY var ecKey En
  • 从单个单词中获取所有可能的词性标签

    我目前正在尝试使用 Python 获取单个单词的所有可能的 pos 标签 从传统的词性标注器中 如果您输入单个单词 您只能返回一个标签 有没有办法获得所有的可能性 是否可以在语料库 例如 Brown 中搜索特定单词而不仅仅是类别 亲切的问候
  • 在 Javascript 中处理多个图像后备

    有没有办法在纯 Javascript 或 React 中处理多个图像回退 我知道我们可以处理一张后备图像onError 如果我们想做另一个后备图像怎么办 提前致谢 每次设置导致错误的 src 时 都会调用图像的 onerror 回调 因此
  • 如何使用 Pipe 和 purrr 获取列表名称和切片名称

    我想知道在使用 purrr 的管道操作时如何获取列表名称或组名称作为标志 例如 我想使用传递给 ggsave 函数的每个列表名称的动态参数 require purrr require ggplot2 lst list a1 data fra
  • 在复杂的 React 组件中查找重复的键

    我有一个反应组件 它一次生成许多键 我不确定哪个不是唯一的 错误如下 有什么简单的方法可以帮助调试吗 谢谢 React js 19500 警告 数组或迭代器中的每个子项都应该有一个唯一的 key 属性 检查渲染方法MyGrid 请参阅 ht
  • Java支持关联数组吗? [复制]

    这个问题在这里已经有答案了 我想知道Java中的数组是否可以做这样的事情 int a new int 10 a index0 100 a index1 100 我知道我在其他语言中看到过类似的功能 但我不太熟悉任何细节 只是有一些方法可以将
  • 如何在窗口调整大小时更改高度 div?

    我的网站上有一个 div 应该是窗口的高度 这就是我得到的 document ready function var bodyheight document height sidebar height bodyheight 但是 当调整窗口大
  • 给定 AWS 访问/密钥对,如何检索其 IAM 权限?

    给定一个 AWS 访问密钥和一个 AWS 密钥的输入 我如何使用 AWS 开发工具包查找该账户可以执行哪些权限 我想为客户执行 XYZ 因此客户需要向我提供访问密钥和秘密密钥 以便以编程方式执行 XYZ 但是 在尝试执行任何这些操作之前 我
  • 模仿 msbuild 进程的程序集解析

    我正在编写一个验证工具 用于检查项目中引用的文件的版本 我想使用与 MSBuild 相同的解析过程 例如 Assembly Load 需要完全限定的程序集名称 然而 在项目文件中 我们可能只有 System Xml 之类的东西 MSBuil
  • 如何替换窗口中的文档?

    var newDoc document implementation createHTMLDocument someTitle swap newDoc with document DOMImplementation createHTMLDo
  • Java使用notepad++和nppexec编译运行

    请记住 在 Windows shell 中进行编译是有效的 因此此问题成为 PATH 问题的可能性很小 如果不是零 我花了很多时间研究如何做到这一点 我在网上找到的所有结果都表明你可以这样做 NPP SAVE javac FILE NAME
  • 使用 Elastic Beanstalk 部署 .NET 工作线程应用程序

    我正在使用 AWS 基础设施开发更广泛的 Web 应用程序 它有两个 工作 组件 从 SQS 读取工作并将结果写入 RDS 数据库 其中之一是 Python 我已经在单个 Elastic Beanstalk 实例上使用了它 第二个使用 NE
  • *** 检测到堆栈粉碎 ***:<未知> 终止中止(核心转储) 错误仅有时发生?

    我正在完成作业 因此我无法发布代码 并且很少出现此运行时错误 检测到堆栈粉碎 终止 中止 核心转储 当我再次运行可执行文件后 一切正常 是否有原因导致此错误仅有时出现 作为参考 我试图完成的作业要求我们将文件中的数据加载到两个向量中 并对数
  • AngularJS 和 Websocket

    我正在尝试学习 HTML5 Node js Express MongoDB AngularJS Websocket 的东西 这似乎让每个人现在都很兴奋 稍微适得其反的是 我实际上很难区分每种技术的实际用途 尤其是使用 ejs 作为模板引擎
  • 使用 if 条件更新 MySQL

    看来我有很大的问题条件查询 我必须做一个有条件更新 我在这里写下我想做的事情 IF SELECT tipo FROM abbonamento WHERE idU 17 punti THEN UDPATE abbonamento SET pu