广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中怎么不插入重复数据
  • 964
分享到

MySQL中怎么不插入重复数据

2024-04-02 19:04:59 964人浏览 泡泡鱼
摘要

这期内容当中小编将会给大家带来有关Mysql中怎么不插入重复数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、insert ignore into当插入数据时,如出现

这期内容当中小编将会给大家带来有关Mysql中怎么不插入重复数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

1、insert ignore into

当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。所以使用ignore请确保语句本身没有问题,否则也会被忽略掉。例如:

INSERT IGNORE INTO user (name) VALUES ('telami')

  这种方法很简便,但是有一种可能,就是插入不是因为重复数据报错,而是因为其他原因报错的,也同样被忽略了~

2、on duplicate key update

当primary或者unique重复时,则执行update语句,如update后为无用语句,如id=id,则同1功能相同,但错误不会被忽略掉。

例如,为了实现name重复的数据插入不报错,可使用一下语句:

INSERT INTO user (name) VALUES ('telami') ON duplicate KEY UPDATE idid = id

这种方法有个前提条件,就是,需要插入的约束,需要是主键或者唯一约束(在你的业务中那个要作为唯一的判断就将那个字段设置为唯一约束也就是unique key)。

3、insert … select … where not exist

根据select的条件判断是否插入,可以不光通过primary 和unique来判断,也可通过其它条件。例如:

INSERT INTO user (name) SELECT 'telami' FROM dual WHERE NOT EXISTS (SELECT id FROM user WHERE id = 1)

这种方法其实就是使用了mysql的一个临时表的方式,但是里面使用到了子查询,效率也会有一点点影响,如果能使用上面的就不使用这个。

4、replace into

如果存在primary or unique相同的记录,则先删除掉。再插入新记录。

REPLACE INTO user SELECT 1, 'telami' FROM books

这种方法就是不管原来有没有相同的记录,都会先删除掉然后再插入。另外,关注公众号Java技术栈,在后台回复:面试,可以获取我整理的 Mysql 面试题和答案。

实践

选择的是第二种方式

<insert id="batchSaveUser" parameterType="list">      insert into user (id,username,mobile_number)      values      <foreach collection="list" item="item" index="index" separator=",">          (             #{item.id},              #{item.username},              #{item.mobileNumber}          )      </foreach>      ON duplicate KEY UPDATE idid = id  </insert>

这里用的是mybatis,批量插入的一个操作,mobile_number已经加了唯一约束。这样在批量插入时,如果存在手机号相同的话,是不会再插入了的。

上述就是小编为大家分享的MySQL中怎么不插入重复数据了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中怎么不插入重复数据

本文链接: https://www.lsjlt.com/news/56337.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL中怎么插入不重复数据
    这期内容当中小编将会给大家带来有关MySQL中怎么插入不重复数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。   之前最naive的想法就是先对将要插入的...
    99+
    2022-10-18
  • MySQL中怎么不插入重复数据
    这期内容当中小编将会给大家带来有关MySQL中怎么不插入重复数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、insert ignore into当插入数据时,如出现...
    99+
    2022-10-18
  • MySQL中怎么防止重复插入数据
    这期内容当中小编将会给大家带来有关MySQL中怎么防止重复插入数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。新建表格CREATE TABLE `p...
    99+
    2022-10-18
  • MySql批量插入时如何不重复插入数据
    目录前言一、insert ignore into二、on duplicate key update三、replace into总结前言 Mysql插入不重复的数据,当大数据量的数据需...
    99+
    2022-11-12
  • 详解MySql如何不插入重复数据
    目录1、insert ignore into2、on duplicate key update3、insert ... select ... where not exist4、replace into...
    99+
    2023-01-17
    MySql不插入重复数据 MySql重复数据
  • MySQL批量插入不重复的UUID
    使用场景 有时候需要给表中已有数据填充一个字段为UUID, 比如更新所有ID等。 操作思路 先给每一条数据增加一个UUID将UUID中的-替换为空 方案一:一次性替换sql select REPLACE ( UUID( ), ...
    99+
    2023-09-05
    mysql sql 数据库
  • MYSQL中怎么插入处理重复键值
    MYSQL中怎么插入处理重复键值,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。当unique列在一个UNIQUE键上插入包含重复值的记录时...
    99+
    2022-10-18
  • SQLServer中怎么防止并发插入重复数据
    SQLServer中怎么防止并发插入重复数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。SQLServer中防止并发插入重复...
    99+
    2022-10-18
  • MySQL:插入数据insert ignore,重复数据自动忽略
    MySQL中插入数据,如果插入的数据在表中已经存在(主键或者唯一键已存在),使用insert ignore 语法可以忽略插入重复的数据。 insert ignore 语法 insert ignore into table_name valu...
    99+
    2023-08-30
    mysql
  • Mysql 唯一索引 防止重复插入数据
    一般的批量插的 sql语句数据违反唯一性约束时,出现重复数据将会直接报错并停止执行 insert into tb_name (field1,field2) values(f11,f12),(f21,f22)... 这种语句将会报错并停止...
    99+
    2020-05-18
    Mysql 唯一索引 防止重复插入数据 数据库入门 数据库基础教程 数据库 mysql
  • MySQL中怎么查询不重复的数据
    这篇文章主要介绍了MySQL中怎么查询不重复的数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL中怎么查询不重复的数据文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2023-04-28
    mysql
  • MySQL数据库中怎么避免写入重复数据
    MySQL数据库中怎么避免写入重复数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们在 MySQL数据库进行表设...
    99+
    2022-10-18
  • Mysql:避免重复的插入数据方法汇总
    最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我介绍4种方法: insert ignore intoon duplicate ...
    99+
    2023-09-10
    mysql sql 数据库
  • 避免 MySQL 插入重复数据的 4 种方式
    最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我简单介绍一下,感兴趣的朋友可以尝试一下: 这里为了方便演示,我新建了一个us...
    99+
    2023-09-20
    mysql 数据库 sql Powered by 金山文档
  • MySql三种避免重复插入数据的方法
    前言 MySql 在存在主键冲突或唯一键冲突的情况下,根据插入方式,一般有以下三种插入方式避免错误。 insert ignore。 replace into insert on duplica...
    99+
    2022-05-21
    MySQL 插入重复数据 MySQL 避免插入重复数据 MySQL 插入数据
  • 防止MySQL重复插入数据的三种方法
    新建表格 CREATE TABLE `person` ( `id` int NOT NULL COMMENT '主键', `name` varchar(64) CHARACTER SET utf8 ...
    99+
    2022-05-19
    MySQL 重复插入数据 MySQL 防止重复插入数据
  • Mysql避免重复插入数据的4种方式
    最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我简单介绍一下,感兴趣的朋友可以尝试一下: 这里为了方便...
    99+
    2022-05-21
    Mysql 重复插入数据 MYSQL避免重复插入
  • MySQL中怎么批量插入数据
    本篇文章为大家展示了MySQL中怎么批量插入数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.创建测试表mysql> show create table ...
    99+
    2022-10-18
  • 怎么在Mysql中插入大量数据
    这篇文章将为大家详细讲解有关怎么在Mysql中插入大量数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一.创建数据库二.创建表1.创建 dept表CREATE TABLE&nbs...
    99+
    2023-06-06
  • MySQL中怎么防止数据重复
    MySQL中怎么防止数据重复,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。很多时候在日常的项目中,有些数据是不允许重复的,例如用户信息中的登陆...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作