今天我们做的推断插入用途MySQL于ON DUPLICATE KEY UPDATE。现在,Mark下面!

假设你想做的事,再有就是在数据库中插入数据没有数据、如果有数据更新数据,然后你可以选择ON DUPLICATE KEY UPDATE。

ON DUPLICATE KEY UPDATE可以在UNIQUE索引或PRIMARY KEY存在的情况下对旧行运行UPDATE操作。

比如:假设列a被定义为UNIQUE,而且包括值1。则下面两个语句具有同样的效果:

      INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c = c + 1,b = b - 1;
      UPDATE table SET c = c + 1,b = b - 1 WHERE a = 1;

比如:如果INSERT多行记录(如果 a 为主键或 a 是一个 UNIQUE索引列):

      INSERT INTO TABLE (a,c) VALUES (1,3),(1,7) ON DUPLICATE KEY UPDATE c = c + 1;

运行后,c 的值会变为 4 (第二条与第一条反复, c 在原值上+1)。

      INSERT INTO TABLE (a,c) VALUES (1,3),(1,7) ON DUPLICATE KEY UPDATE c = VALUES(c);

运行后,c 的值会变为 7 (第二条与第一条反复, c 在直接取反复的值7)。

注意:ON DUPLICATE KEY UPDATE仅仅是MySQL的特有语法,并非SQL标准语法!

官方文档參照:dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#insert

版权声明:本文博主原创文章,博客,未经同意不得转载。

转载于:https://www.cnblogs.com/gcczhongduan/p/4818249.html

MySQL于ON DUPLICATE KEY UPDATE采用相关推荐

  1. MySQL使用on duplicate key update时导致主键不连续自增

    在做数据统计的时候,我们经常会用到mysql的on duplicate key update语法来自动更新数据,比如 最近项目上需要实现这么一个功能:统计每个人每个软件的使用时长,客户端发过来消息,如 ...

  2. 【MySQL】ON DUPLICATE KEY UPDATE 解决重复插入问题

    参考文章:mysql "ON DUPLICATE KEY UPDATE" 语法 ON DUPLICATE KEY UPDATE 开发过程中,可能会遇到这样的需求,先判断某一记录是否 ...

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

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

  4. MYSQL中ON DUPLICATE KEY UPDATE对数据进行insertOrUpdate操作

    本文来自:高爽|Coder,原文地址:[url]http://blog.csdn.net/ghsau/article/details/23557915[/url],转载请注明. 向数据库插入记录时,有 ...

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

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

  6. mysql-on duplicate key update实现insertOrUpdate官方文档

    [README] mysql 基于 on duplicate key update filed=value ; 实现有则更新,没有则插入: 以下内容总结于  https://dev.mysql.com ...

  7. ON DUPLICATE KEY UPDATE

    INSERT INTO ON DUPLICATE KEY UPDATE 与 REPLACE INTO,两个命令可以处理重复键值问题,在实际上它之间有什么区别呢? 前提条件是这个表必须有一个唯一索引或主 ...

  8. ON DUPLICATE KEY UPDATE单个增加更新及批量增加更新的sql

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

  9. on duplicate key update用法及优缺点

    Mysql on duplicate key update用法及优缺点 在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新, 在刚碰到的时候,一般思路是将其实现分 ...

最新文章

  1. 二:serverless网站数据库操作
  2. ov5640帧率配置_一文看懂赛博朋克2077中低配置的设置方法和能畅玩的电脑有哪些?...
  3. SQL查询案例:行列转换[行转列, 使用 CASE WHEN 处理]
  4. 如何使用visual studio 2017创建C语言项目
  5. ++和--操作符分析
  6. DL之DeepLabv1:DeepLabv1算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  7. Stackoverflow:您从未见过的7个最佳Java答案
  8. 架构设计之「数据库集群方案」
  9. 华为鸿蒙3799跟4799有啥区别,华为鸿蒙智慧屏出世!3799元高价,是增智慧还是智商税?...
  10. Bootstrap3 动态模态对话框
  11. 【Kafka】nable to write to standard out, closing consumer Console consumer process hangs on SIGINT
  12. [Angular 2] Nesting Elements in Angular 2 Components with ng-content (AKA Angular 2 Transclusion)
  13. GDC 2006 Microsoft Developer Day Presentations
  14. 去除从网页上复制到WORD文档中的下箭头方法
  15. 计算机系统如何恢复出厂设置路由器,斐讯p.to怎么恢复出厂设置?-斐讯路由器设置...
  16. linux那些事儿 pdf,[转] linux那些事儿之我是HUB - PDF文件
  17. suse linux raid驱动,安装SuSE使用嵌入式SATA控制器用常见设备使用情况的megaSR swraid驱动程序...
  18. 低学历者生存困难 程序员尤其明显
  19. 如何写一篇五彩斑斓的博客.append(可爱)
  20. VisionPro脚本Simple与Advanced

热门文章

  1. pyecharts简单使用
  2. linux tomcat守护_linux下非root用户运行tomcat
  3. centos7 mysql tar_CentOS7中mysql-5.7.21-el7-x86_64.tar.gz版MySQL的安装与配置
  4. 乐乐勇智能教育机器人有多少型号_【头条】协作机器人平台化趋势将会是柔性自动化的破局之道...
  5. 网站前端组织冒泡事件
  6. 计算机操作基础英语,计算机操作基础word练习题参考答案
  7. java11创建项目_2019-04-11 使用IDEA创建SpringBoot项目
  8. suse下删除mysql_每日MySQL之005:SUSE linux下卸載MySQL
  9. php curl 数据采集 空,PHP curl从网站返回空数组的数据
  10. mysql alter table if_MySQL中的alter table命令的基本使用方法及提速优化