`
zhaojian0910
  • 浏览: 46488 次
社区版块
存档分类
最新评论

mysql update 使用 WHEN/THEN/ELSE/END 的时候非WHEN的数据被改成null

 
阅读更多

 

先查看一下数据

 

SELECT b.email_remind_id,b.send_status FROM b_email_msg_remind  b;


 然后执行

UPDATE b_email_msg_remind 
SET 
    send_status =CASE 
        WHEN email_remind_id = '234746e8-4cab-444c-86ee-ea73c57cb7de' THEN 1 
        WHEN email_remind_id = '48d4a578-141e-421c-9eed-0c26de4b8f48' THEN 1  
        WHEN email_remind_id = '674969cd-ae86-4a5c-b813-57cc6183f8e5' THEN 1
        WHEN email_remind_id = '991664d6-4fe3-47c7-add7-e861f617992d' THEN 1
        END

 

工具的日志为:


 看到修改了5行数据,但是只有4个WHEN

修改后的数据是



 这个没有WHEN的条件的数据send_status被改成了null

 

我们现在加上ELSE

SELECT b.email_remind_id,b.send_status FROM b_email_msg_remind  b;

 

 然后执行

UPDATE b_email_msg_remind 
SET 
    send_status =CASE 
        WHEN email_remind_id = '234746e8-4cab-444c-86ee-ea73c57cb7de' THEN 1 
        WHEN email_remind_id = '48d4a578-141e-421c-9eed-0c26de4b8f48' THEN 1  
        WHEN email_remind_id = '674969cd-ae86-4a5c-b813-57cc6183f8e5' THEN 1
        WHEN email_remind_id = '991664d6-4fe3-47c7-add7-e861f617992d' THEN 1 ELSE send_status END

工具的日志为:


可以看到这次只有4条数据被修改
修改后的数据是



 

红框的数据没有被修改

 

 

  • 大小: 3.9 KB
  • 大小: 6 KB
  • 大小: 4 KB
  • 大小: 6.1 KB
  • 大小: 4.1 KB
分享到:
评论

相关推荐

    mysql 同时更新多行数据不同的值

    mysql 同时更新多行数据不同的值 一个复杂的多条件更新sql: update users set status = (case user_id when 1 then 0 when 3 then 1 when 4 then 0 else status end) where user_id in (1,3,4) 在多数情况下,执行...

    case when和sum case when 写法及拼接字段

    1 case when 写法 2 sum case when 用法 3 select 拼接字段 示例如下: when 2 then 'C' else 'D' end ) as '类型',count(*) as '数量' from table group by orderType

    Mysql实现null值排在最前/最后的方法示例

    我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS NULL: 当列的值是 ...

    MySQL中文参考手册.chm

    <br/>8.4.4.6 NULL值操作 <br/>8.4.4.7 模式匹配 <br/>8.4.4.8 行计数 <br/>8.4.5 使用多个数据库表 <br/>8.5 获得数据库和表的信息 <br/>8.6 以批处理模式使用mysql <br/>8.7 从"双胞项目"中查询<br/>8.7.1 找出...

    2023年,MySQL最新最详细的教程资源 详细讲解了MySQL的各种用法

    MySQL UPDATE 更新 MySQL DELETE 语句 MySQL LIKE 子句 MySQL UNION MySQL 排序 MySQL 分组 MySQL 连接的使用 MySQL NULL 值处理 MySQL 正则表达式 MySQL 事务 MySQL ALTER命令 MySQL 索引 MySQL 临时表 MySQL 复制...

    最新全国行政区域编码及mysql数据库(省/市/区县/街道)

    4.城乡划分代码说明:mysql数据库,树结构存储。包括:编码;名称;全称;所属省,市,区县,街道;拼音首字母;城市类型(直辖市,省会);同级下排序;深度;城乡分类代码及经纬度。 5.三级地址:...

    mysql存储过程之case语句用法实例详解

    本文实例讲述了mysql存储过程之case语句用法。分享给大家供大家参考,具体如下: 除了if语句,mysql提供了一个替代的条件语句CASE。 mysql的 CASE语句使代码更加可读和高效。废话不多说,我们先来看下简单case语句的...

    MySQL 的CASE WHEN 语句使用说明

    mysql数据库中CASE WHEN语句。 case when语句,用于计算条件...语法简单 CASE 函数: 代码如下:CASE input_expression WHEN when_expression THEN result_expression [ …n ] [ ELSE else_result_expression END

    linux下安装proftp+mysql的过程

    4:使用root用户 cp /home/mysql/mysql5.0/support-files/my-medium.cnf /etc/my.cnf(执行前对my.cnf做好备份) 5:使用mysql用户shell> scripts/mysql_install_db 6:使用mysql用户shell> bin/mysqld_safe --user=mysql...

    .Net/C#连接Mysql数据库Connector/Net MySql.Data.dll 8.20.0+6.9.12

    MySQL Connector/Net ...在项目中引用组件:MySql.Data.dll (记得复制到本地中选择为true / 或直接把MySql.Data.dll复制到debug文件夹下) 在代码中 using MySql.Data.MySqlClient; ......接下来这里就看你表演了。

    MySQL数据库生成数据字典xls-java.zip

    通过java jdbc 链接MySQL数据库,生成数据字典下载到xlsx 单main方法执行 String dbName = "activationservice"; String URL = "jdbc:mysql://127.0.0.1:3306/" + dbName + "?characterEncoding=utf-8&serverTime...

    DataX数据的迁移(MySQL、HDFS,Hive)

    1.数据迁移的过程中,由于hive的Null值存储为"\N",Mysql存储为NULL值,二者转换时需要注意,再数据迁移json模板中,"nullFormat": "\\N", 该配置信息就是解决了数据迁移是存在的Null值。 2.如果hive中没有数值DataX...

    mysql数据库的基本操作语法

    MySQL中外键的table的外键引用列可以插入数据可以为null,不参照主表的数据。 使用子查询插入数据 insert into temp(name) select name from classes; 多行插入 insert into temp values(null, ‘jack’, 22), ...

    在MySQL concat里面使用多个单引号,三引号的问题

    sum(case Leave when ”’+ id +”’ then DaysNo else 0 end) [‘+ name +’]’ 正常语句: SQL code SUM(CASE Leave WHEN ’01’ THEN DaysNo END) AS [事假], SUM(CASE Leave WHEN ’02’ THEN DaysNo END) AS ...

    mysql常用函数汇总.chm

    CASE WHEN[test1] THEN [result1]...ELSE [default] END如果testN是真,则返回resultN,否则返回default CASE [test] WHEN[val1] THEN [result]...ELSE [default]END 如果test和valN相等,则返回resultN,否则返回...

    MySQL 5.1官方简体中文参考手册

    2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动服务器 2.3.11. 从Windows命令行启动MySQL 2.3.12. 以Windows服务方式启动MySQL ...

    mysql语言的基本操作流程

    net start mysql; mysql -h localhost -u root -p //可以回车了 quit; set names 'gbk'; select version(),current_date...add 列名 数据类型 [default (默认值)] [not null] [unique] alter 表名 drop column 列名

    MySql函数详解!!!

    MySQL数据库提供了很多函数包括: 数学函数:数学函数主要用于处理数字,包括整型、浮点数等。 字符串函数:字符串函数是MySQL中最常用的一类函数...加密函数:加密函数是MySQL用来对数据进行加密的函数。 格式化函数;

    Mysql Connector/Net 64位

    Connector/Net is a fully-managed ADO.NET driver for MySQL. 支持64位操作系统

    MySQL 教程 开发文档 从基础到精通

    十二.MySQL 查询数据 十三.MySQL WHERE 子句 十四.MySQL UPDATE 更新 十五.MySQL DELETE 语句 十六.MySQL LIKE 子句 十七.MySQL UNION 操作符 十八.MySQL 排序 十九.MySQL GROUP BY 语句 二十.MySQL 连接的...

Global site tag (gtag.js) - Google Analytics