有人在群里问这个问题

update xt_kh set zhye=zhye+1,hzyj=hzyj+1 where dlgh='kiss0451' and hzms=1
如果这样写 hzms不等于1的时候 zhye字段也不更新了,
我想要的是 zhye 必须更新,而hzyj是选择性的,怎么用update来实现啊?

他提出根据hzms进行部分更新,那么主条件是dlgh='kiss0451' 是必须确定的,如此以来,这个 hzms 就不能作为条件子句了,有人提出用两条语句实现,不过他说必须用一条,嗯哼,看来是有点麻烦的。

根据条件进行判断,那么我就自然而然的想到可以用if表达式进行实现

效果如下

SQL如下:

update xt_kh set zhye=zhye+1,hzyj=if(hzms=1,hzyj+1,hzyj) where dlgh='kiss0451' 

这里面的问题就在于,要先将 zhye的条件确定好,这个是必然要更新,然后 hzyj要部分更新,那么关键就在于根据hzms进行判断 如果等于1 则更新加1 否则还是自身,这是问题的核心,其实更新为自身也是更新,只不过影响行数没变而已,对于用户而言好像是没更新,其实对于数据库而言,是更新了。而对于SQL而言也是一条SQL就实现了需求了。

有人在群里问mysql如何选择性更新部分条件的问题的更多相关文章

  1. 有人在群里问关于SQL表组合数据问题

    他的问题如下 如此我建表如下: 如果想根据用户进行分组后 又要显示所属门店在同一个字段中的话,这里需要用group_concat来显示 同时关联的时候可用find_in_set来处理 我设计的SQL如 ...

  2. mysql集群之MYSQL CLUSTER

    1. 参考文档 http://xuwensong.elastos.org/2014/01/13/ubuntu-%E4%B8%8Bmysql-cluster%E5%AE%89%E8%A3%85%E5%9 ...

  3. Hadoop---集群之MySQL的安装

    Hadoop---集群之MySQL的安装 一: 二: 三: 四: 五: 六: 七: 八:修改数据库字符:解决中文乱码问题 ,mysql默认为latin1,我们要修改为utf-8 1> 2> ...

  4. 服网LNMP集群 w/ MySQL PaaS-1.0

    平台: arm 类型: ARM 模板 软件包: haproxy linux mysql nginx application server arm basic software fuwang infra ...

  5. 这次一定要教会你搭建Redis集群和MySQL主从同步(非Docker)

    前言 一直都想自己动手搭建一个Redis集群和MySQL的主从同步,当然不是依靠Docker的一键部署(虽然现在企业开发用的最多的是这种方式),所以本文就算是一个教程类文章吧,但在动手搭建之前,会先聊 ...

  6. Mysql跨表更新 多表update sql语句总结

    Mysql跨表更新一直是大家所关心的话题,本文介绍mysql多表 update在实践中几种不同的写法 假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price:另外一张表是P ...

  7. 为什么要baidu/Google问题 尽量少在群里问问题

    群里问也是可以的 但是 不能指望群里的人详细的回答 有时候的回答会很到位 但是 也可以 应该更多的去网络上搜索信息 因为 那是别人已经写好的 我们为什么不顺便去获取呢 别人花费了精力 我们要尽量运用 ...

  8. Mysql跨表更新

    Mysql跨表更新一直是大家所关心的话题,本文介绍mysql多表 update在实践中几种不同的写法,需要的朋友可以参考下 假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Pr ...

  9. Kubernetes集群中Service的滚动更新

    Kubernetes集群中Service的滚动更新 二月 9, 2017 0 条评论 在移动互联网时代,消费者的消费行为已经“全天候化”,为此,商家的业务系统也要保持7×24小时不间断地提供服务以满足 ...

随机推荐

  1. buzhoutiao

    基于SUI前端框架 前台HTML: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " ...

  2. Graph-BFS-Fly-图的广度优先遍历-最小转机问题

    #include <iostream> #include <queue> using namespace std; /* 5 7 1 5 1 2 1 3 2 3 2 4 3 4 ...

  3. PCL点云分割(2)

    关于点云的分割算是我想做的机械臂抓取中十分重要的俄一部分,所以首先学习如果使用点云库处理我用kinect获取的点云的数据,本例程也是我自己慢慢修改程序并结合官方API 的解说实现的,其中有很多细节如果 ...

  4. ecshop常用的一些变量

    <!-- {if $smarty.session.user_rank gt 1}-->gt大于 lt小于1:ecshop模板中调用session的值 {$smarty.session.us ...

  5. 数据框排序 data.frame order

    # sorting examples using the mtcars datasetattach(mtcars) # sort by mpgnewdata <- mtcars[order(mp ...

  6. Ilya Sutskever

    中文名:伊利亚 莎士科尔 早期: 加拿大多伦多大学,Hinton实验室,2005年至2012年 博士后: 斯坦福大学,Andrew实验室,2012年11月到2012年12月 工作: 谷歌,2013年3 ...

  7. Solr系列三:solr索引详解(Schema介绍、字段定义详解、Schema API 介绍)

    一.Schema介绍 1. Schema 是什么? Schema:模式,是集合/内核中字段的定义,让solr知道集合/内核包含哪些字段.字段的数据类型.字段该索引存储. 2. Schema 的定义方式 ...

  8. 深入理解Java对象序列化

    关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结.此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制.在撰写本文时,既参考了Th ...

  9. 第10章:awk进阶操作

    第10章:awk进阶操作 在第4章:查找与替换简单的讲解了awk的使用,本章介绍详细讲解awk的使用.awk是一个强大的文本分析工具,简单的说awk就是把文件逐行的读入, 以空格为默认分隔符将每行切片 ...

  10. HTML5 Canvas 超炫酷烟花绽放动画教程

    这是一个很酷的HTML5 Canvas动画,它将模拟的是我们现实生活中烟花绽放的动画特效,效果非常逼真,但是毕竟是电脑模拟,带女朋友看就算了,效果还是差了点,呵呵.这个HTML5 Canvas动画有一 ...