MySql 不存在则插入,存在则更新或忽略_BarackHusseinObama的博客-CSDN博客_mysql 存在则不处理

mysql中insert into select from的使用 - 星朝 - 博客园 (cnblogs.com)

避免重复插入数据的4种方式

01 insert ignore into

即插入数据时,如果数据存在,则忽略此次插入,前提条件是插入的数据字段设置了主键或唯一索引,测试SQL语句如下,当插入本条数据时,MySQL数据库会首先检索已有数据(也就是idx_username索引),如果存在,则忽略本次插入,如果不存在,则正常插入数据:

02 on duplicate key update

即插入数据时,如果数据存在,则执行更新操作,前提条件同上,也是插入的数据字段设置了主键或唯一索引,测试SQL语句如下,当插入本条记录时,MySQL数据库会首先检索已有数据(idx_username索引),如果存在,则执行update更新操作,如果不存在,则直接插入:

03 replace into

即插入数据时,如果数据存在,则删除再插入,前提条件同上,插入的数据字段需要设置主键或唯一索引,测试SQL语句如下,当插入本条记录时,MySQL数据库会首先检索已有数据(idx_username索引),如果存在,则先删除旧数据,然后再插入,如果不存在,则直接插入:

04 insert if not exists

即insert into … select … where not exist … ,这种方式适合于插入的数据字段没有设置主键或唯一索引,当插入一条数据时,首先判断MySQL数据库中是否存在这条数据,如果不存在,则正常插入,如果存在,则忽略:

目前,就分享这4种MySQL处理重复数据的方式吧,前3种方式适合字段设置了主键或唯一索引,最后一种方式则没有此限制。

 <insert id="insertNotExist">     insert into t_notice(create_time, description, handler, status, type)SELECT #{notice.createTime},   #{notice.description},    #{notice.handler},       #{notice.status},   #{notice.type}    FROM dual    where not exists(select 1                 from t_notice            where handler = #{notice.handler}      and type = #{notice.type}) </insert>

MySql 不存在则插入,存在则更新或忽略相关推荐

  1. python db.commit_python对MySQL进行数据的插入、更新和删除之后需要commit,数据库才会真的有数据操作。(待日后更新)...

    今天在尝试用下面的python代码对MySQL进行数据的插入.更新和删除时, 突然发现代码执行成功, 通过代码查询也显示数据已经插入或更新, 但是当我在MySQL客户端通过SQL语句查询时, 数据库中 ...

  2. JAVA对MYSQL进行连接、插入、修改、删除操作

    来自http://blog.sina.com.cn/s/blog_4bea2fb10100f147.html JAVA对Mysql进行连接.插入.修改.删除操作. 数据库表单的创建 mysql> ...

  3. Mysql笔试+面试题积累(实时更新)

    目录 char和varchar的区别? 1.数据库的三范式? 2.MySQL常用的引擎? 3.一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 ...

  4. mybatis generator一对一映射,一对多映射,批量插入,批量更新

    mybatis-generator这是原来的github地址 现在在此基础上添加了一对一和一对多映射配置,配置在table标签上 如果需要一对一配置生成,需要添加插件配置 在context中添加如下配 ...

  5. 如何实现mysql千万级数据库插入速度和读取速度

    mysql千万级数据库插入速度和读取速度的调整记录 2018.11.1 Mysql version 5.7.23 一般情况下mysql上百万数据读取和插入更新是没什么问题了,但到了上千万级就会出现很慢 ...

  6. 在网页中插入时间 自动更新

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  7. Boost:计算一些tail统计数据,插入数据,更新数据

    Boost:计算一些tail统计数据,插入数据,更新数据 实现功能 C++实现代码 实现功能 计算一些tail统计数据,插入数据,更新数据 C++实现代码 #include <iostream& ...

  8. mysql 优化配置 大批量数据插入_[译] MySQL 最佳实践 —— 高效插入数据

    当你需要在 MySQL 数据库中批量插入数百万条数据时,你就会意识到,逐条发送 INSERT 语句并不是一个可行的方法. MySQL 文档中有些值得一读的 INSERT 优化技巧. 在这篇文章里,我将 ...

  9. 查看mysql数据插入时间_[译] MySQL 最佳实践 —— 高效插入数据

    Get the dolphin up to speed - Photo by JIMMY ZHANG on Unsplash[1] 当你需要在 MySQL 数据库中批量插入数百万条数据时,你就会意识到 ...

最新文章

  1. Java中的等待/通知机制(wait/notify)
  2. oracle最大值填充,Oracle sequence值到了最大值的处理
  3. python怎么读取txt文件数据保存数组中-Python Numpy中数据的常用的保存与读取方法...
  4. .NET Framework介绍
  5. spring-session用mysql实现session共享实践
  6. 【CSS3】-webkit-margin-before与margin-top
  7. Spring Boot提交表单信息
  8. 堆结构导致数据文件不能收缩
  9. arpspoof看看隔壁女同事上班时间都在浏览什么网页?
  10. 【DEF CON】数十亿物联网设备受严重随机数生成器缺陷影响
  11. Makefile的基本规则实例说明
  12. 深度学习自学(三十四):换衣场景下行人重识别
  13. Delphi android 开发视频教程
  14. 记账系统推荐金蝶精斗云_小编总结了金蝶精斗云财务软件的优劣势
  15. mysql 员工登记表_员工部门信息表-myemployees
  16. 红帽子linux 6.8 u盘安装,RHEL 6.8 安装指导手册
  17. 关于SQL Server中left join on and 用法的介绍
  18. 在企业访客管理中引入人脸识别系统有哪些应用?
  19. BM33-二叉树的镜像
  20. 绝妙的Python语句搜集整理

热门文章

  1. 游戏开发中的新兴技术
  2. loadrunner12--tree
  3. matlab 画三维花瓶,cad三维旋转命令画花瓶三维模型教程
  4. 东北大学操作系统中文课件知识点第一章
  5. A+B 投入产出实践(二)
  6. 大型车转弯的内轮差问题
  7. 【266期】面试官问:为什么 SQL 要尽量避免使用 IN 和 NOT IN?
  8. 谈绿之韵传销斗争路!董事长胡国安感慨十年沉浮
  9. 《中国5G经济报告2020》正式发布
  10. 第一,二,三范式,满足不满足的实例