mysql中replace into与insert into区别

 更新时间:2023年01月18日 09:49:31   作者:帅成一匹马  
本文主要介绍了mysql中replace into与insert into区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

replace into 遇到主键或唯一索引冲突时,会先删除数据,再插入新数据

insert into 遇到主键或唯一索引冲突时,会直接报错,不插入数据

案例:

新建一个test表,三个字段,id,title,uid, id是自增的主键,uid是唯一索引;

CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `uid` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `sss` (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

插入2条数据

insert into  test(title,uid) VALUES ('张三','001');
insert into  test(title,uid) VALUES ('张三','002');

使用 insert into插入数据时,报错

insert into test(title,uid) VALUES ('李四','001');

使用 replace into插入数据时:

replace into test(title,uid) VALUES ('李四','001');

replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。

要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。

到此这篇关于mysql中replace into与insert into区别的文章就介绍到这了,更多相关mysql replace into与insert into内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql delete 多表连接删除功能

    mysql delete 多表连接删除功能

    这篇文章主要介绍了mysql delete 多表连接删除功能的相关资料,需要的朋友可以参考下
    2017-03-03
  • MySQL数据库多表联合查询代码示例

    MySQL数据库多表联合查询代码示例

    所谓联合就是把多个表的记录往一起合并,一起进行查询,也叫多表查询,这篇文章主要给大家介绍了关于MySQL数据库多表联合查询的相关资料,需要的朋友可以参考下
    2024-01-01
  • MySQL按月自动设置表分区的实现

    MySQL按月自动设置表分区的实现

    本文主要介绍了MySQL按月自动设置表分区的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • 详解MySQL连接挂死的原因

    详解MySQL连接挂死的原因

    本次分享的是一次关于 MySQL 高可用问题的定位过程,其中曲折颇多但问题本身却比较有些代表性,遂将其记录以供参考。
    2021-05-05
  • Mysql执行原理之索引合并步骤详解

    Mysql执行原理之索引合并步骤详解

    这篇文章主要介绍了Mysql执行原理之索引合并详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • 一条SQL更新语句的执行过程解析

    一条SQL更新语句的执行过程解析

    这篇文章主要介绍了一条SQL更新语句的执行过程解析,所以一条更新语句的执行流程又是怎样的呢?下面我们一起进入文章了解更多具体内容吧
    2022-05-05
  • 在Docker中使用MySQL的教程

    在Docker中使用MySQL的教程

    这篇文章主要介绍了在Docker中使用MySQL的教程,介绍了简单的内部搭建步骤,需要的朋友可以参考下
    2015-04-04
  • MySQL 数据库如何解决高并发问题

    MySQL 数据库如何解决高并发问题

    这篇文章主要介绍了MySQL 如何处理高并发,帮助大家更好的优化MySQL数据库,感兴趣的朋友可以了解下
    2020-09-09
  • 详解mysql慢日志查询

    详解mysql慢日志查询

    这篇文章主要介绍了mysql慢日志查询的相关资料,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-09-09
  • Mysql中的CHECK约束特性详解

    Mysql中的CHECK约束特性详解

    这篇文章主要介绍了Mysql中的CHECK约束特性详解的相关资料,讲解的十分浅显易懂,这里推荐给大家,需要的朋友可以参考下
    2022-08-08

最新评论