mysql重复插入数据教程(Mysql避免重复插入数据的4种方式)
mysql重复插入数据教程
Mysql避免重复插入数据的4种方式最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我简单介绍一下,感兴趣的朋友可以尝试一下:
这里为了方便演示,我新建了一个user测试表,主要有id,username,sex,address这4个字段,其中主键为id(自增),同时对username字段设置了唯一索引:
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种方式适合字段设置了主键或唯一索引,最后一种方式则没有此限制,只要你熟悉一下使用过程,很快就能掌握的,网上也有相关资料和教程,介绍的非常详细,感兴趣的话,可以搜一下
到此这篇关于Mysql避免重复插入数据的4种方式的文章就介绍到这了,更多相关Mysql避免重复插入数据内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
原文链接:https://juejin.cn/post/6923558675277676558
- 阿里云mysql如何接入(阿里云服务器安装Mysql数据库的详细教程)
- mysql存储过程和函数(MySQL存储过程的查询命令介绍)
- windowsmysql服务在哪里(解决windows service 2012阿里云服务器在搭建mysql时缺少msvcr100.dll文件的问题)
- mysql主从模式与读写分离(磁盘写满导致MySQL复制失败的解决方案)
- linuxmysql安装教程5.7.25学习(linux mysql5.5升级至mysql5.7的步骤与踩到的坑)
- 怎样查看mysql的安装路径(MySQL中查看数据库安装路径的方法)
- docker怎么创建mysql服务(Docker部署MySQL8集群一主二从的实现步骤)
- mysqlexplain的用法(MySQL SHOW STATUS语句的使用)
- mysql的连接池名称如何查看(如何使用mysqladmin获取一个mysql实例当前的TPS和QPS)
- mysql全套优化(Mysql优化神器推荐)
- mysql千万级别数据查询优化(mysql千万级数据量根据索引优化查询速度的实现)
- mysql有数据但筛选值为空(解决从集合运算到mysql的not like找不出NULL的问题)
- idea配置mysql最大连接数(IDEA连接不上MySQL端口号占用的解决)
- navicat连接mysql报错(解决Navicat Premium 连接 MySQL 8.0 报错"1251"的问题分析)
- 查看mysql执行计划关键字(带你学习MySQL执行计划)
- 如何打开mysql8.0客户端服务(MySQL mysqladmin客户端的使用简介)
- 《刘老根3》热播,去世15年的她却再次被 伤害(去世15年的她却再次被)
- 十二星座爱情支配欲指数(十二星座爱情支配欲指数)
- 虐待儿童是发泄支配欲的愚蠢行为(虐待儿童是发泄支配欲的愚蠢行为)
- 你或许不知道你隐藏的支配欲望(你或许不知道你隐藏的支配欲望)
- 把宽体丰田86卖了,换成7.5代高尔夫GTI玩起姿态与性能并存的改装(把宽体丰田86卖了)
- 大众推出了第五代高尔夫GT(大众推出了第五代高尔夫GT)
热门推荐
- 阿里ecs云服务器新手上路(如何迁移阿里云服务器ECS实例中的网站?)
- sqlserver数据库中锁的4种类型(SQLSERVER对加密的存储过程、视图、触发器进行解密推荐)
- 使用vue-cli构建electron项目(MAC+PyCharm+Flask+Vue.js搭建系统)
- django环境变量菜鸟教程(Django 多环境配置详解)
- docker容器端口和内部进程(Docker动态给容器Container暴露端口操作)
- 安装mysql中要注意什么问题(安装Mysql时可能会遇到的一些疑难杂症)
- datatable添加行列
- python获取股票每天k线(使用PyQtGraph绘制精美的股票行情K线图的示例代码)
- 云服务器磁盘管理教程(云主机如何用虚拟磁盘扩容?)
- python一组数字求和(Python3数字求和的实例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9