数据库不提供想多条插入类似的语法,但是我们可以借助于case when来拼出一个常sql,当然这还是一条语句,

update tabel1
set 字段1 = case 条件字段 when 条件值1 then 字段1的值1 when 条件值2 then 字段1的值2 end, 字段2 = case 条件字段 when 条件值 then 字段2的值 end, 字段3 = case 条件字段 when 条件值 then CONCAT(字段3, 追加值) end
where 共有条件 = 条件值;

mybatis中使用如下

<update id="updateInfo">update table1 set 字段1=<foreach collection="base" item="base" open="case 条件字段" close="else 字段1 end" separator=" ">when #{base.条件值} then #{base.字段1的值}</foreach>, 字段2=<foreach collection="base" item="base" open="case 条件字段" close="else 字段2 end" separator=" ">when #{base.条件值} then #{base.字段2的值}</foreach>, 字段3=<foreach collection="base" item="base" open="case 条件字段" close="else 字段3 end" separator=" ">when #{base.条件值} then #{base.字段3的值}</foreach>, 字段4=<foreach collection="base" item="base" open="case 条件字段" close="else 字段4 end" separator=" ">when #{base.条件值} then #{base.字段4的值}</foreach>, 字段5=<foreach collection="base" item="base" open="case 条件字段" close="else 字段5 end" separator=" ">when #{base.条件值} then #{base.字段5的值}</foreach>, 字段6=<foreach collection="base" item="base" open="case 条件字段" close="else 字段6 end" separator=" ">when #{base.条件值} then CONCAT(IFNULL(字段6,''),IFNULL(#{base.字段6的值},''))</foreach>where 字段6=#{条件值};</update>

注意CONCAT进行字符串追加时,如果其中有任何一个时null值则结果一定时null解决办法时使用IFNULL(value,’’),将null值替换成空串就行了

数据库update多条数据相关推荐

  1. android动态更新数据库数据,Android数据库更新——上万条数据的插入

    在实际情况下,很可能遇到会向一个表中插入10万条数据,而这样的数据库更新,如果用寻常的方式,在SQLiteOpenHelper.onUpdate()方法中不断的执行SQL语句,那么效率是可想而知的,甚 ...

  2. mysql插10万条数据_MySQL数据库插入100w条数据要花多久?

    MySQL数据库插入100w条数据要花多久? 1.多线程插入(单表) 2.多线程插入(多表) 3.预处理SQL 4.多值插入SQL 5.事务(N条提交一次) # 多线程插入(单表) 问:为何对同一个表 ...

  3. C#数据库插入多条数据,抛出异常:另一个 SqlParameterCollection 中已包含 SqlParameter

    解决办法很简单:添加语句:cmd.Parameters.Clear(); 原理:在SqlCommand使用完后清理SqlParameter. 代码示例: //定义连接数据库的配置字符串,需要填入你的连 ...

  4. 如何查mysql里有多少条数据_mysql快速查询数据库中有多少条数据

    慕尼黑的夜晚无繁华 mysql 统计 表的数量:SELECT COUNT(1) FROM information_schema.TABLES WHERE TABLE_SCHEMA = '你的数据库'; ...

  5. 你向 Mysql 数据库插入 100w 条数据用了多久?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 目录 1.多线程插入(单表) 2.多线程插入(多表) 3.预处理S ...

  6. mysql怎样循环插入数据_你向 Mysql 数据库插入 100w 条数据用了多久?

    多线程插入(单表) 多线程插入(多表) 预处理SQL 多值插入SQL 事务(N条提交一次) 多线程插入(单表) 问:为何对同一个表的插入多线程会比单线程快?同一时间对一个表的写操作不应该是独占的吗? ...

  7. 微信小程序云开发 操作数据库-新增一条数据

    数据库 API 分为小程序端和服务端两部分,小程序端 API 拥有严格的调用权限控制,开发者可在小程序内直接调用 API 进行非敏感数据的操作.对于有更高安全要求的数据,可在云函数内通过服务端 API ...

  8. mysql数据库删除千万条数据的操作方案

    项目情况是这样的,数据库中有一张计费表,这张表是随着时间无限增长的,数据会越来越多,count一下数据共有8千万条,而现在需要删除2019年之前所有的数据,大概7千多万条.表中有索引. 我直接使用 D ...

  9. mysql 5000万条数据库_1亿条数据如何分表100张到Mysql数据库中(PHP)

    下面通过创建100张表来演示下1亿条数据的分表过程,具体请看下文代码. 当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度.笔者做了一个简单的尝试,1亿条数据,分100张表.具体实现过 ...

  10. DB2数据库取第一条数据

    DB2只取第一条数据 select * from table fetch first 1 rows only

最新文章

  1. 通俗讲java反射机制ioc,结合反射说明SpringIOC的实现原理
  2. 春节假期延长了,这里给你推荐几本2020年不容错过的机器学习书籍!
  3. 别再被 Python 洗脑了!!
  4. angular directive 深入理解
  5. 给交叉编译工具建立软连接用脚本
  6. 自我分析colly的robots源码
  7. pat 乙级 1041 考试座位号(C++)
  8. UVALive 6525 Attacking rooks 二分匹配 经典题
  9. java 优酷视频缩略图_优酷视频缩略图
  10. 2016 pku campus/OpenJ_POJ - C16H(推公式+矩阵快速幂)
  11. 读书笔记_量化交易如何建立自己的算法交易04
  12. AD的备份与标准还原:深入浅出Active Directory系列(四)
  13. openstack常见问题解决方法
  14. 车辆OTA仿真测试解决方案
  15. 《Graphene-SGX: A Practical Library OS for UnmodifiedApplications on SGX (ATC‘17)》笔记
  16. 赵小楼《天道》《遥远的救世主》深度解析(51)为什么芮小丹用脱衣这个方式来告白丁元英?
  17. 高端蓝牙耳机哪个牌子好?四款高音质不错的蓝牙耳机推荐
  18. JVM堆内存(新生代,老年代,Xms,Xmx)学习整理
  19. 关于初始化数据库时报错及解决办法(常见故障整理)
  20. springboot社区快递代取服务系统毕业设计-附源码

热门文章

  1. [数据结构]--WiscKey: Separating Keys from Values in SSD-Conscious Storage
  2. [TimLinux] Python3 Coverity zeep/SOAP 库使用示例
  3. 微信小程序云开发 1 - 数据库
  4. 巨头争云存储祭免费旗 或重演视频业消耗战
  5. Web前端工程师VS前端工程师,谁的薪资更上一筹?
  6. elixir元编程的quote与unquote
  7. vbm 分析_MRI脑影像分析从哲学到技术:一文搞懂VBM预处理基本原理(全网最详细解析)...
  8. 15.4.1 使用CREATE OR REPLACE VIEW语句修改视图结构
  9. u盘复制文件第二台计算机无文件夹,u盘做成启动盘后拷贝进去的文件不见了怎么办...
  10. 灵魂有香气的女子李筱懿|讲述女性自我成长的重要性