参考文章:mysql “ON DUPLICATE KEY UPDATE” 语法


ON DUPLICATE KEY UPDATE

开发过程中,可能会遇到这样的需求,先判断某一记录是否存在,如果不存在,添加记录,如果存在,则修改数据。在INSERT语句末尾指定ON DUPLICATE KEY UPDATE可以解决这类问题。

其用法如下:如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE操作,如果不会导致唯一值重复的问题,则执行INSERT操作。

作用

insert已经存在的记录时,执行update(将原有的记录修改了,而不是执行插入)


使用示例

member表结构

执行语句:

INSERT INTO `member` (id, name, sex, age, tid) VALUES (6, 'same',0 , 88, 4) ON DUPLICATE KEY UPDATE age = 123;

【MySQL】ON DUPLICATE KEY UPDATE 解决重复插入问题相关推荐

  1. 深入mysql ON DUPLICATE KEY UPDATE 语法的分析

    mysql "ON DUPLICATE KEY UPDATE" 语法 如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNI ...

  2. mysql多个on_在多个查询中插入多行的MySQL ON DUPLICATE KEY UPDATE

    我有一个SQL查询,我想在单个查询中插入多行.所以我用了类似的东西: $sql = "INSERT INTO beautiful (name, age) VALUES ('Helen', 2 ...

  3. Mysql on duplicate key update用法及优缺点

    在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新, 在刚碰到的时候,一般思路是将其实现分为两块,分别是判断增加,判断更新,后来发现在mysql中有ON DUPL ...

  4. mybatis中mysql ON DUPLICATE KEY UPDATE写法

    2019独角兽企业重金招聘Python工程师标准>>> <insert id="batchInsertFansInfo" parameterType=&qu ...

  5. MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)

    本文章来给大家提供三种在mysql中避免重复插入记录方法,主要是讲到了ignore,Replace,ON DUPLICATE KEY UPDATE三种方法,各位同学可尝试参考. 案一:使用ignore ...

  6. MySql避免重复插入记录的方法(INSERT ignore into,Replace into,ON DUPLICATE KEY UPDATE)

    案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用: 代码如下 复制代码 1 INSERT IGNORE INTO table ...

  7. mysql delayed_mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY UPDATE )

    mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY UPDATE ) 更新时间:2010年04月14日 13:46:04   作者: DELAYED 做 ...

  8. mysql insert delayed_mysql insert的几点操作(DELAYED 、IGNORE、ON DUPLICATE KEY UPDATE )

    INSERT语法 INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] V ...

  9. MySQL中 ON DUPLICATE KEY UPDATE语法的使用

    MySQL ON DUPLICATE KEY UPDATE 为Mysql特有语法 ON DUPLICATE KEY UPDATE 用法与说明 Mysql中INSERT ... ON DUPLICATE ...

最新文章

  1. Xcode couldn‘t find any iOS App Development provisioning profiles matching ‘com.example.***‘
  2. 从创建进程到进入 main 函数,发生了什么?
  3. Spring bean 之 FactoryBean
  4. 【Android 界面效果49】RecyclerView高度随Item自适应
  5. 开源实时音视频技术WebRTC中RTP/RTCP数据传输协议的应用
  6. 过程日志定位疑难问题
  7. Tencent笔试题收集
  8. 求助动态贝叶斯网络参数学习函数的使用方法
  9. 升级Spring Boot内嵌Tomcat版本
  10. Maya mtoa使用Houdini Mplay当渲染窗口
  11. 实战—深圳链家租房数据分析
  12. python绘制箭头_python如何绘制坐标箭头?
  13. Eric6中使用PYQT5在窗口显示图片
  14. 鸿蒙系统第一批升级名单,鸿蒙系统首批升级名单详细介绍
  15. win server服务器 关闭危险端口 135,137,138,139,445的方法
  16. Tensorflow - tf.cond 与条件判断
  17. 手写一个json格式化 api
  18. 全国计算机二级c++上机试题.cpp,计算机二级考试C++上机考试试题
  19. 2021.10.27-28科研日志
  20. 解决linux内核更新后VM无法正常运行问题

热门文章

  1. 多线程读取同一个文件_前端进阶:多线程Web Workers的工作原理及使用场景
  2. 1.const关键字.rs
  3. 逆向工程核心原理学习笔记(十二):分析abex' crackme #1
  4. 初级教程之---delphi调试
  5. 趣谈设计模式 | 模板方法模式(Template Method):封装不变部分,扩展可变部分
  6. 单元测试之带你搞懂Mockito使用
  7. JDBC连接失败java.sql.SQLException: ...ClassCastException: BigInteger cannot be cast to Long
  8. 淘宝技术架构从1.0到4.0的演变
  9. 全世界最顶级的开发者都在使用什么数据库
  10. 又是金三银四,都是Java程序员,你为什么面试总拿不到高薪?