mysql中 REPLACE INTO 和 INSERT INTO 的区别

REPLACE INTO 和 INSERT INTO 功能类似,都是像表中插入数据,不同点在于:REPLACE INTO 首先尝试插入数据到表中:

  • 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。
  • 否则,直接插入新数据。

要注意的是:

  • 插入数据的表必须有主键或者是唯一索引!否则的话,REPLACE INTO 会直接插入数据,这将导致表中出现重复的数据。
  • 除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。
  • 为了能够使用REPLACE,您必须同时拥有表的INSERT和DELETE权限。
  • REPLACE语句会返回一个数,来指示受影响的行的数目。该数是被删除和被插入的行数的和。

假如表中已经设置了主键,这时向表中插入一条主键已经存在的数据,那么先删除此行数据,然后插入新的数据,受影响的行: 2;如果向表插入一条主键不存在的数据,则是直接插入新数据,受影响的行: 1。

转载于:https://www.cnblogs.com/new0801/p/6146619.html

mysql中 REPLACE INTO 和 INSERT INTO 的区别相关推荐

  1. mysql 中 replace into 与 insert into on duplicate key update 的使用和不同点

    replace into和insert into on duplicate key update都是为了解决我们平时的一个问题 就是如果数据库中存在了该条记录,就更新记录中的数据,没有,则添加记录. ...

  2. MySQL中replace主键_Mysql中replace与replace into的用法讲解

    Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...

  3. mysql中replace函数的用法

    ##-----MySQL数据替换即replace的运用-----## #这里主要介绍一些关于replace函数的用法.关于研究这个主要是发现replace功能很强大 #对于屏蔽关键字很有用处. #现在 ...

  4. MySQL中索引与视图的用法与区别详解

    索引与视图是我们在日常使用mysql必不可少的一部分,最近在学习中看到一本书中关于这方法写的不错,所以这篇文章主要给大家介绍了关于MySQL中索引与视图的使用与区别的相关资料,需要的朋友可以参考借鉴, ...

  5. php普通索引和唯一索引,MySQL中普通索引和唯一索引的区别详解

    本篇文章介绍了MySQL中普通索引和唯一索引的区别,讲解很详细,希望对学习MySQL的朋友有帮助! 需要注意的是: redo log中的数据,可能还没有 flush 到磁盘,磁盘中的 Page 1 和 ...

  6. MySQL+create+base,MySQL中CREATE DATABASE和CREATE SCHEMA的区别

    MySQL中CREATE DATABASE和CREATE SCHEMA的区别 create schema 是创建模式 create database 是创建数据库 但进入MySQL不用选择任何数据库即 ...

  7. mysql中的where和having子句的区别

    mysql中的where和having子句的区别 having的用法 having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句 ...

  8. MySQL中char,varchar和text的区别

    MySQL中char,varchar和text的区别 java程序中的string类型,在mysql数据表中可以有三种对应的类型:char,varchar和text. char,varchar和tex ...

  9. MYSQL中replace into的用法

    今天在编程的时候,学习了replace into的用法,真的很好用,是insert into的增强版.在向表中插入数据时,我们经常会遇到这样的情况:1.首先判断数据是否存在:2.如果不存在,则插入:3 ...

最新文章

  1. QuestMobile 2017年中国移动互联网年度报告
  2. python del函数_干货:Python的内存管理办法
  3. Spring Boot 使用Actuator监控应用
  4. 30.32.33.词云图、3D绘图、矩阵可视化、绘制混淆矩阵
  5. jest java_✅使用jest进行测试驱动开发
  6. 中国的四大沙地,你都认识吗?
  7. [转帖]关于Linux下的icotl函数
  8. archives_do.php,织梦后台文章管理中增加批量添加tag标签功能
  9. 网页图片处理代码全集整理
  10. 21.1-21.4 memcached介绍,安装使用,状态查看
  11. 随着台积电上调代工费,芯片及电子设备价格上涨可能持续到明年
  12. [Android实例教程] 教你如何拍照+相册选择图片+剪裁图片完整实现
  13. LINUX tar解压到指定目录
  14. C++ string类成员函数
  15. mvp架构 java_MVP架构基本使用
  16. Foxit PDF SDK for iOS--零基础Cordova开发
  17. 免费的java(jsp)虚拟主机jhost
  18. Something's wrong--perhaps a missing \item. \end{thebibliography}
  19. Ant UI 的表单校验
  20. 阿里云服务器ECS windows server已开放端口但连不上的问题

热门文章

  1. ping不通自己的ip地址_1000个IP地址同时怎么Ping,一个小技巧轻松搞定
  2. linux多cpu运行python脚本,linux系统使用python获取cpu信息脚本分享
  3. 卸载idea2020删除以前的配置_推荐一款只有5M大小的绿色良心的卸载工具!
  4. java的如何创建js_[Java教程]JS创建事件的三种方式(实例)
  5. css animate属性spend不生效
  6. gc日志一般关注什么_JVM(23)JVM的Full GC日志
  7. three相机在模型上_实例讲解Three.js加载外部模型
  8. 三维坐标 偏转_三维坐标变换原理-平移, 旋转, 缩放
  9. Java Servlet 使用slf4j配置log4j
  10. 借贷记账法下的账户对应关系_会计实操借贷记账法记账规则——会计干货来了快记啊!...