MySQL on duplicate key update用法

基本使用方法

public static final String SQL_TQI_SINK ="insert into " + ConfigureContext.get(ConfigKeyConstants.MYSQL_TABLE_TQI) + " \n" +"(`mile_km`, `mile_start_km`, `mile_start_m`, `is_out`, `tqi_alig_l`, \n" +"`tqi_alig_r`, `tqi_surf_l`, `tqi_surf_r`, `tqi_lev`, `tqi_gaug`, `tqi_twis`, `tqi_sum`, \n" +"`out_value`, `average_speed`, `tran_cd`, `sped_cd`, `valid_flag`, `valid`, `dete_ymd`, \n" +"`dete_hms`, `sub_code`, `line_cd`, `line_nm`, `dir_cd`, `dir_nm`, `regi_dt`)\n" +"values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n" +"on duplicate key update \n" +"mile_km = values(mile_km), \n" +"mile_start_km = values(mile_start_km), \n" +"mile_start_m = values(mile_start_m), \n" +"is_out = values(is_out), \n" +"tqi_alig_l = values(tqi_alig_l), \n" +"tqi_alig_r = values(tqi_alig_r), \n" +"tqi_surf_l = values(tqi_surf_l), \n" +"tqi_surf_r = values(tqi_surf_r), \n" +"tqi_lev = values(tqi_lev), \n" +"tqi_gaug = values(tqi_gaug), \n" +"tqi_twis = values(tqi_twis), \n" +"tqi_sum = values(tqi_sum), \n" +"out_value = values(out_value), \n" +"average_speed = values(average_speed), \n" +"tran_cd = values(tran_cd), \n" +"sped_cd = values(sped_cd), \n" +"valid_flag = values(valid_flag), \n" +"valid = values(valid), \n" +"dete_ymd = values(dete_ymd), \n" +"dete_hms = values(dete_hms), \n" +"sub_code = values(sub_code), \n" +"line_cd = values(line_cd), \n" +"line_nm = values(line_nm), \n" +"dir_cd = values(dir_cd), \n" +"dir_nm = values(dir_nm)";

如果数据库有值,不想覆盖数据库的值,可以采用以下写法

mysql(ON DUPLICATE KEY UPDATE)字段值为空更新新值,不为空不更新

tableName: 表名
id: 主键(唯一键)
field_1: 更新的字段

原值为空更新

INSERT IGNORE INTO `tableName` ( `id`, `field_1` )
VALUES( '1', '100' ),( '2', '200' ) ON DUPLICATE KEY UPDATE field_1 =
IF( tableName.field_1, tableName.field_1, VALUES ( field_1 ) )

 新值大于旧值更新

INSERT IGNORE INTO `tableName` ( `id`, `field_1` )
VALUES( '1', '100' ),( '2', '200' ) ON DUPLICATE KEY UPDATE field_1 =
IF( VALUES ( field ) > tableName.field_1, VALUES ( field_1 ), tableName.field_1 )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/139417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis系列-Redis性能优化与安全【9】

目录 Redis系列-Redis性能优化与安全【9】Redis性能优化策略Redis安全设置与防护措施Redis监控与诊断工具介绍 七、Redis应用案例与实战八、Redis未来发展与趋势 个人主页: 【⭐️个人主页】 需要您的【💖 点赞关注】支持 💯 Redis系列-Redis性能优化与安…

2023年第十六届山东省职业院校技能大赛高职组“信息安全管理与评估”赛项规程

第十六届山东省职业院校技能大赛 高职组“信息安全管理与评估”赛项规程 一、赛项名称 赛项名称:信息安全管理与评估 英文名称:Information Security Management and Evaluation 赛项组别:高职组 赛项归属:电子与信息大类 二…

运行npm install卡住不动的几种解决方案

在前端开发经常会遇到运行npm install 来安装工具包一直卡住不动,为此这里提供几种解决方案,供大家参考学习,不足之处还请指正。 第一种方案、首先检查npm代理,是否已经使用国内镜像 // 执行以下命令查看是否为国内镜像 npm con…

入门指南:Docker的基本命令

入门指南:Docker的基本命令 Docker是一个功能强大的容器化平台,可以帮助您轻松构建、打包和部署应用程序。要充分利用Docker,您需要了解一些基本命令。本文将介绍并示范Docker的一些最重要的基本命令,以帮助您快速上手。 1. doc…

linux 查看进程及端口

linux 查看进程及端口 使用 ps 命令查看当前运行的进程 命令: ps -aux | grep 进程名 进程ID用户CPU占用率内存占用率命令1234user10.51.2/usr/bin/example15678user21.00.8/usr/bin/example2 使用 netstat 命令查看当前打开的端口和与之相关的进程 命令&#…

虚假内容检测,谣言检测,不实信息检测,事实核查;纯文本,多模态,多语言;数据集整理

本博客系博主个人理解和整理所得,包含内容无法详尽,如有补充,欢迎讨论。 这里只提供数据集相关介绍和来源出处,或者下载地址等,因版权原因不提供数据集所含的元数据。如有需要,请自行下载。 “Complete d…

深度学习之基于Django+Tensorflow商品识别管理系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 项目简介 本系统是一个基于DjangoTensorflow的商品识别管理系统。通过深度学习技术,实现商品的自动识别…

arduino 简易智能花盆

编辑器:arduino IDE 主板:arduino uno 传感器: 0.96寸的OLED屏(四脚) 声音模块 土壤温湿度模块 DS18B20温度模块(这里用到防水的) 光敏电阻模块(买成三脚的了只能显示高低&#x…

AR导览小程序开发方案

一、背景介绍 随着科技的不断发展,虚拟现实(VR)和增强现实(AR)技术逐渐被应用于各个领域。其中,AR导览小程序作为一种新兴的导览方式,以其独特的视觉体验和互动性受到了广泛的关注。AR导览小程…

el-table实现展开当前行时收起上一行的功能

<el-tableref"tableRef":data"tableData":expand-row-keys"expandRowKeys":row-key"handleRowKey" // 必须指定 row-keyexpand-change"handleExpandChange" // 当用户对某一行展开或者关闭的时候会触发该事件> <…

实验结果啊

所提出的框架已应用于智利一家银行的两个信用评分数据集。本节的组织结构如下&#xff1a;第4.1节对实施的项目进行了说明。实验设置如所示第4.2节&#xff0c;包括用于基准测试的替代方法的说明。随后&#xff0c;第4.3节总结了主要结果&#xff0c;包括从这些实验中获得的主要…

【算法专题】双指针—三数之和

力扣题目链接&#xff1a;三数之和 一、题目解析 二、算法原理 解法一&#xff1a;排序暴力枚举利用set去重 代码就不写了&#xff0c;你们可以试着写一下 解法二&#xff1a;排序双指针 这题和上一篇文章的两数字和方法类似 排序固定一个数a在这个数的后面区间&#xff0…

《詩經别解》——國風·周南·雎鳩​​​​​​​

一、关于古文的一个认识 目前可以阅读的古文经典&#xff0c;大多是经历了几千年的传承。期间的武力战争、文化纷争、宗教侵袭、官僚介入及文人的私人恩怨与流派桎梏&#xff0c;印刷与制作技术&#xff0c;导致这些古文全部都已经面目全非。简单地说&#xff0c;你读到的都是…

2022最新版-李宏毅机器学习深度学习课程-P46 自监督学习Self-supervised Learning(BERT)

一、概述&#xff1a;自监督学习模型与芝麻街 参数量 ELMO&#xff1a;94MBERT&#xff1a;340MGPT-2&#xff1a;1542MMegatron&#xff1a;8BT5&#xff1a;11BTuring NLG&#xff1a;17BGPT-3&#xff1a;175BSwitch Transformer&#xff1a;1.6T 二、Self-supervised Lear…

算法--- 每日温度

题目 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例 1: 输入: te…

[HXPCTF 2021]includer‘s revenge

文章目录 方法一前置知识Nginx 在后端 Fastcgi 响应过大产生临时文件竞争包含绕过include_once限制 解题过程 方法二前置知识Base64 Filter 宽松解析iconv filter 解题过程 方法一 NginxFastCGI临时文件 前置知识 Nginx 在后端 Fastcgi 响应过大产生临时文件 www-data用户在n…

SharePoint 页面中插入自定义代码

我们都知道 SharePoint 是对页面进行编辑的。 对于一些有编程基础的人来说&#xff0c;可能需要对页面中插入代码&#xff0c;这样才能更好的对页面进行配置。 但是在新版本的 SharePoint modern 页面来说&#xff0c;虽然我们可以插入 Embed 组件。 但是 Embed 组件中是不允…

【C++基础 】类和对象(上)

C基础 类和对象&#xff08;上&#xff09; 1.面向过程和面向对象初步认识2.类的引入3.类的定义4.类的访问限定符及封装4.1 访问限定符4.2 封装 5.类的作用域6.类的实例化7.类对象模型7.1 如何计算类对象的大小7.2 类对象的存储方式猜测7.3 结构体内存对齐规则 8.this指针8.1 t…

Kubernetes实战(四)-部署docker harbor私有仓库

1 Docker原生私有仓库Registry 1.1 原生私有仓库Registry概述 Docker的仓库主要分两类&#xff1a; 私有仓库公有仓库 共有仓库只要在官方注册用户&#xff0c;登录即可使用。但对于仓库的使用&#xff0c;企业还是会有自己的专属镜像&#xff0c;所以私有库的搭建也是很有…

分享vmware和Oracle VM VirtualBox虚拟机的区别,简述哪一个更适合我?

VMware和Oracle VM VirtualBox虚拟机的区别主要体现在以下几个方面&#xff1a; 首先两种软件的安装使用教程如下&#xff1a; 1&#xff1a;VMware ESXI 安装使用教程 2&#xff1a;Oracle VM VirtualBox安装使用教程 商业模式&#xff1a;VMware是一家商业公司&#xff0c;而…