写BUG的派大星

Patrick Star

  • 首页
  • 归档

  • 搜索
设计模式 Gis Kafka Druid 微信小程序 Java 开源项目源码 物体识别 机器学习 Mybatis 微服务 Feign OpenVPN CSS Streamsets CDH SpringCloud SpringBoot maven 分布式 Shell Tree Linux js WebSocket 多线程 集群 Hadoop 大数据 JDK ElasticSearch MySQL 数据库 Redis Http Nginx

Mysql实现有则更新无则插入操作

发表于 2020-04-22 | 分类于 数据库 | 0 | 阅读次数 842

实现方式

以下两种方式均可实现:

方式一:通过Rplace into table语句

REPLACE into search_config(`config_key`, `config_value`) values ( "sortField", "createTime" )

方式二:通过Insert into ...on duplicate key update

insert into search_config(`config_key`, `config_value`) values ( "sortField", "createTime" ) ON DUPLICATE KEY UPDATE config_value="createTime";

说明

  1. 方式一会使未传入字变为初始值,可以选择全部字段传入来进行修改,而方式二则不会修改未传入的字段,可以理解为replace=delete+insert。
  2. 在使用时发现这两种方式都只有存在主键的时候才会生效,否则都会执行插入操作,猜测是无法判断该条记录是否唯一。
  • 本文作者: Patrick
  • 本文链接: https://www.write1bug.cn/archives/mysql实现有则更新无则插入操作
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 设计模式 # Gis # Kafka # Druid # 微信小程序 # Java # 开源项目源码 # 物体识别 # 机器学习 # Mybatis # 微服务 # Feign # OpenVPN # CSS # Streamsets # CDH # SpringCloud # SpringBoot # maven # 分布式 # Shell # Tree # Linux # js # WebSocket # 多线程 # 集群 # Hadoop # 大数据 # JDK # ElasticSearch # MySQL # 数据库 # Redis # Http # Nginx
For循环内部的var与let
Maven中dependencies和dependencyManagement的区别
  • 文章目录
  • 站点概览
Patrick

Patrick

不是在改BUG,就是在写BUG。

52 日志
9 分类
36 标签
RSS
E-mail
Creative Commons
© 2018 — 2023 Patrick
人生如逆旅|我亦是行人
鲁ICP备18043140号-1