mysql 8.20联合主键批量更新案例,存在即更新,不存在插入
结合官网案例一下是插入案例
insert into f_test(equipment_id,dtu_id,run_date,status,start_time,end_time,duration,
update_time,cnc_mprog,cnc_mcomt,grubbs_selected,grubbs_t,grubbs_trusted,standard_t,average,standard_deviation,xmax,xmin)
values ('test-20211104','FC_ECU2021TESTA120','20211111','ALARM','2021-11-11 13:29:41.0','2021-11-11 14:00:34.0',1899,'2021-11-11 14:00:09.51','8','()',0,0,0,0,0,0,-1,-1)
as new
on duplicate key update equipment_id=new.equipment_id,
dtu_id=new.dtu_id, run_date=new.run_date, status=new.status,
start_time=new.start_time, end_time=new.end_time, duration=new.duration,
update_time=new.update_time, cnc_mprog=new.cnc_mprog, cnc_mcomt=new.cnc_mcomt,
grubbs_selected=new.grubbs_selected, grubbs_t=new.grubbs_t, grubbs_trusted=new.grubbs_trusted,
standard_t=new.standard_t, average=new.average, standard_deviation=new.standard_deviation, xmax=new.xmax, xmin=new.xmin
批量插入方式二在8.20以后会有警告但是也能插入成功
insert into f_test(equipment_id,dtu_id,run_date,status,start_time,end_time,duration,
update_time,cnc_mprog,cnc_mcomt,grubbs_selected,grubbs_t,grubbs_trusted,standard_t,average,standard_deviation,xmax,xmin)
values ('test-20211104','FC_ECU2021TESTA120','20211111','ALARM','2021-11-11 13:29:41.0','2021-11-11 14:00:34.0',1853,'2021-11-11 14:00:09.51','8','()',0,0,0,0,0,0,-1,-1)
on duplicate key update equipment_id=values(equipment_id),
dtu_id=values(dtu_id), run_date=values(run_date), status=values(status),
start_time=values(start_time), end_time=values(end_time), duration=values(duration),
update_time=values(update_time), cnc_mprog=values(cnc_mprog), cnc_mcomt=values(cnc_mcomt),
grubbs_selected=values(grubbs_selected), grubbs_t=values(grubbs_t), grubbs_trusted=values(grubbs_trusted),
standard_t=values(standard_t), average=values(average), standard_deviation=values(standard_deviation), xmax=values(xmax), xmin=values(xmin)
执行有如下警告
'VALUES function' is deprecated and will be removed in a future release. Please use an alias (INSERT INTO ... VALUES (...) AS alias) and replace VALUES(col) in the ON DUPLICATE KEY UPDATE clause with alias.col instead
插入成功更新成功
mysql 官网案例批量更新
https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html
注意事项:需要写上主键,没主键唯一索引,不然会找索引更新
附上表名
CREATE TABLE `f_test` (
`equipment_id` varchar(50) NOT NULL,
`dtu_id` varchar(50) DEFAULT NULL,
`run_date` varchar(8) NOT NULL,
`status` varchar(50) NOT NULL,
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`end_time` timestamp NULL DEFAULT NULL,
`duration` bigint DEFAULT NULL,
`update_time` timestamp NULL DEFAULT NULL,
`cnc_mcomt` varchar(100) DEFAULT NULL,
`grubbs_selected` bigint DEFAULT '0',
`grubbs_t` decimal(18,4) DEFAULT '-1.0000',
`grubbs_trusted` bigint DEFAULT '0',
`standard_t` decimal(18,4) DEFAULT '-1.0000',
`average` decimal(18,4) DEFAULT '-1.0000',
`standard_deviation` decimal(18,4) DEFAULT '-1.0000',
`xmax` decimal(18,4) DEFAULT '-1.0000',
`xmin` decimal(18,4) DEFAULT '-1.0000',
`cnc_mprog` varchar(255) DEFAULT NULL,
`workpiece_model` varchar(128) DEFAULT NULL,
`workpiece_no` varchar(128) DEFAULT NULL,
`fill_data_status` int DEFAULT '0',
PRIMARY KEY (`equipment_id`,`run_date`,`start_time`,`status`),
KEY `idx_start_time` (`start_time`),
KEY `idx_run_date` (`run_date`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
mysql 8.20联合主键批量更新案例,存在即更新,不存在插入相关推荐
- MySQL查询之 联合主键
我们知道MySQL的主键是一个非空的,且唯一的键,如果我们需要两个或者多个呢 create table stu(id int,name varchar(20),score int,primary ke ...
- mysql建表 联合主键
建表:(前4个联合为主键) CREATE TABLE `climate_one_key` (`纬度` float(255,2) NOT NULL COMMENT '纬度',`经度` float(255 ...
- MyBatisPlus联合主键批量更新
方式一注解方式 @MppMultiId updateByMultiId 方式二条件构造器 Wrapper update(updateWrapper),一条一条更 方式三case when <up ...
- mysql 联合主键_Mysql 创建联合主键
Mysql 创建联合主键 2008年01月11日 星期五 下午 5:21 使用primary key (fieldlist) 比如: create table mytable ( aa int, bb ...
- mysql联合主键是不是索引_MySQL:联合主键、索引
MySQL数据库用联合主键.用两张表测试. # 1分钟数据表 CREATE TABLE md_1min2( `d_1min` DATETIME(3), `code` CHAR(16), `open` ...
- mybatis-plus/mybatis的组件们——拦截器、字段填充器、类型处理器、表名替换、SqlInjector(联合主键处理)
最近有个练手的小例子,大概就是配置两个数据源,从一个数据源读取数据写到另一个数据源,虽然最后做了出来,但是不支持事务...就当是对mybatis-plus/mybatis组件使用方式的记录吧,本次例子 ...
- mysql 尽量不要使用 联合主键_MySQL 使用规范
MySQL 使用规范 以下规范适用在线交易(OLTP)系统的数据库.数据仓库与分析系统也可以参考. 命名规范 表名.字段名.索引名使用小写字母.数字,采用下划线分割 表名采用模块名3个缩小字符_前缀, ...
- MySql基础篇---003 SQL之DDL、DML、DCL使用篇:创建和管理表 ,数据处理之增删改,MySQL数据类型精讲 ,约束:联合主键
第10章_创建和管理表 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 基础知识 1.1 一条数据存储的过程 存储数据是处理数据的第一步.只有正确地 ...
- SQL Server中的联合主键、聚集索引、非聚集索引、mysql 联合索引
我们都知道在一个表中当需要2列以上才能确定记录的唯一性的时候,就需要用到联合主键,当建立联合主键以后,在查询数据的时候性能就会有很大的提升,不过并不是对联合主键的任何列单独查询的时候性能都会提升,但我 ...
最新文章
- Android Tab大总结 Fragment+TabPageIndicator+ViewPager
- otto android,Android Otto调研
- automapper
- 顺序队列的表示和实现
- 系统分析的几个好工具
- dede整站动态化或是整站静态化方法
- C语言图形化编程 【二】
- SSh结合Easyui实现Datagrid的分页显示
- cas server php下载,关于用CAS Server与Php、Jetty配置实现SSO#4
- 使用JavaScript弹出Confirm对话框
- python bottle部署_如何使用python-Bottle框架创建REST API应用程序,以及如何在apache服务器上部署restapi应用程序?...
- 微软vc运行库地址VC9VC11
- C语言两个数比较大小和三个数比较大小,代码
- 郑州市城市建成区20年时空变化特征提取与分析
- 【unity】编辑模式预览Animator动作,2种实现。 其中一种 playback模式是Cinema Director用的会使Unity Crash
- 《失业的程序员》(十二):潜意识的智商 .
- 计算机音乐谱东演员,计算机音乐谱光辉岁
- Android 用 broadcast receiver组件实现音乐盒
- 数据挖掘:实用案例分析 下载_真经阁丨萌低龄,超实用“萌系”呈现技巧及设计案例分析...
- java-net-php-python-ssh学生信息管理系统录像演示录像2019计算机毕业设计程序
热门文章
- Linux下游戏大作赏析
- 【云计算入门3】基础技术和并行计算模型
- tif文件如何转换成jpg?图文步骤详解
- 不要再说阿里巴巴是电商公司了,人家是科技公司…
- Kibana: 如何在 Kibana 中生成 Scripted fields
- oracle清理数据及释放表空间
- Floyd 弗洛伊德算法的实现
- ustc计算机科学与技术学院,连德富 - 中国科学技术大学 - 计算机科学与技术学院...
- 计算机音频服务无法启动,win10系统audioendpointbuilder音频服务无法启动的解决办法...
- 运行PSMNet网络时遇到的问题及解决方案