首页 > 其他分享 >on duplicate key update的用法

on duplicate key update的用法

时间:2023-04-15 11:31:57浏览次数:39  
标签:count ip list update label duplicate key visit id

1.基础用法

test表有如下数据

on duplicate key update的用法_字段

执行如下sql会报主键冲突

INSERT INTO test ( id, NAME, age )
VALUES ( 1, '张三', 13 )

增加on duplicate key update后执行成功

INSERT INTO test ( id, NAME, age )
VALUES ( 1, '张三', 13 ) 
	ON DUPLICATE KEY UPDATE id = 1,
	NAME = '张三',
	age = 13

执行结果为

on duplicate key update的用法_xml文件_02

2.代码中批量插入时

dao层

void inserts(@Param("list") List<Entity> list);

xml文件

insert into entity (id,ip,label_id,label_name,visit_count) values
<foreach collection="list" item="list" index="index" separator=",">
    (#{list.id},#{list.ip},#{list.labelId},#{list.labelName},#{list.visitCount})
</foreach>
on duplicate key update id = values(id)

3.某个字段的值需要累加

xml文件

insert into ip_data_label (id,ip,label_id,label_name,visit_count) values
<foreach collection="list" item="list" index="index" separator=",">
    (#{list.id},#{list.ip},#{list.labelId},#{list.labelName},#{list.visitCount})
</foreach>
on duplicate key update visit_count= visit_count+values(visit_count)


标签:count,ip,list,update,label,duplicate,key,visit,id
From: https://blog.51cto.com/u_16033209/6192258

相关文章

  • Navicat常见错误怎么处理(Rsa Public Key not Find、Generate First a serial、No All
    一:下载一键提取软件提取码:rtce1.Navicat数据库管理工具:NavicatDBeaver数据库管理工具:可以代替Navicat2.NavicatKeygenPatch:激活工具二:安装激活1.安装Navicat:直接下一步即可安装NavicatKeygenPatch:安装好后即可打开使用2.断网、关闭杀毒软件和本地防火墙3.......
  • android:keytool生成应用签名证书(java 15)
    一,查看是否已安装keytoolkeytool命令的程序位于jdk的安装目录/bin下,1,查看是否有keytool命令已安装?[lhdop@blog~]$ls/usr/local/soft/jdk-17/bin/keytool/usr/local/soft/jdk-17/bin/keytool2,查看帮助:列出可用的命令[lhdop@blog~]$keytool--helpKeyandCert......
  • 如何使用海康demo工具配置将设备接入SkeyeVSS平台?​
    SkeyeVSS平台视频能力丰富齐全,部署灵活,操作简单,可快速接入多类型设备及协议,具体包括国标GB28181、RTMP、RTSP/Onvif、海康SDK、大华SDK、海康Ehome等,以及近期额外拓展的华为SDK、宇视SDK、萤石SDK、乐橙SDK等;在视频流分发方面,RTSP、FLV、HLS、WebRTC等格式均可在全终端、平台实现视......
  • HDU 2222 Keywords Search (AC自动机)
    题目地址:HDU2222AC自动机第一发!真好奇这些算法是怎么被发明的。。算法的魅力真是无穷。这题是AC自动机模板题。自己实在写不出来,比着kuangbin的模板写的==代码如下:#include<iostream>#include<string.h>#include<math.h>#include<queue>#include<algorithm>#incl......
  • Django笔记六之外键ForeignKey介绍
    本文首发于公众号:Hunter后端原文链接:Django笔记六之外键ForeignKey介绍这是一种一对多的字段类型,表示两张表之间的关联关系。本篇笔记的目录如下:on_deleterelated_namerelated_query_name外键字段的保存1、on_delete假设有两个application,app1和app2app1下的某......
  • flomo 窗口置顶 - 通用方法 autohotkey
    需求开网页的时候需要记录一些东西想一直显示操作要安装https://www.autohotkey.com/创建个.ahk文件运行下快捷键是alt+小键盘8;置顶当前窗口!Numpad8::winset,AlwaysOnTop,,AReturn使用打开flomo为当前激活,然后按快捷键即可。......
  • 【BUG】ExtJS 的Tab Reorder 插件持续更新布局问题解决办法 (Solution to layout issue
    更新记录2023年4月13日初始化。ExtJS教程汇总:https://www.cnblogs.com/cqpanda/p/16328016.html问题不停的拖动tab栏,会不断更新布局。Draggingthetabbarcontinuouslywillupdatethelayoutconstantly.解决办法进入ExtJS包,打开ux目录下的BoxReorderer.js文件,找......
  • 为什么HashMap的key允许空值,而Hashtable却不允许
    结论:HashMap对象的key、value值均可为null。      Hashtable对象的key、value值均不可为null。且两者的的key值均不能重复,若添加key相同的键值对,后面的value会自动覆盖前面的value,但不会报错。1.从源码分析HashMap从源码分析:  HashMap在put的时候会调用hash()......
  • lamda表达式 updateWrapper
    eqorlike接收一个w(id=xxorspuu_namelikexxx)用括号括起来后面andstatus=xxx属于内嵌条件WHERE(((id=?ORspu_nameLIKE?))ANDpublish_status=?ANDbrand_id=?ANDcatalog_id=?)if(!StringUtils.isEmpty(key)){wrapper.and((w)->{......
  • JS 根据key查找对象数组中符合的一项 返回对象(递归)
    在一个复杂的数组对象数据中(嵌套多层),通过key值返回对应的对象1方法:parseJson(jsonObj,key,value){//循环所有键letarray=[]for(letvinjsonObj){letelement=jsonObj[v]//1.判断是对象或者数组if(typeof(ele......