MySQL数据库避免重复的插入数据
最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我简单介绍一下,感兴趣的朋友可以尝试一下:
这里为了方便演示,我新建了一个user测试表,主要有id,username,sex,address这4个字段,其中主键为id(自增),同时对username字段设置了唯一索引:
01insert ignore into
即插入数据时,如果数据存在,则忽略此次插入,前提条件是插入的数据字段设置了主键或唯一索引,测试SQL语句如下,当插入本条数据时,MySQL数据库会首先检索已有数据(也就是idx_username索引),如果存在,则忽略本次插入,如果不存在,则正常插入数据:
02on duplicate key update
即插入数据时,如果数据存在,则执行更新操作,前提条件同上,也是插入的数据字段设置了主键或唯一索引,测试SQL语句如下,当插入本条记录时,MySQL数据库会首先检索已有数据(idx_username索引),如果存在,则执行update更新操作,如果不存在,则直接插入:
03replace into
即插入数据时,如果数据存在,则删除再插入,前提条件同上,插入的数据字段需要设置主键或唯一索引,测试SQL语句如下,当插入本条记录时,MySQL数据库会首先检索已有数据(idx_username索引),如果存在,则先删除旧数据,然后再插入,如果不存在,则直接插入:
04insert if not exists
即insert into … select … where not exist ... ,这种方式适合于插入的数据字段没有设置主键或唯一索引,当插入一条数据时,首先判断MySQL数据库中是否存在这条数据,如果不存在,则正常插入,如果存在,则忽略:
目前,就分享这4种MySQL处理重复数据的方式吧,前3种方式适合字段设置了主键或唯一索引,最后一种方式则没有此限制
-
Strapi 开源且高度可定制的CMS
Strapi 是一个开源且高度可定制的 CMS。传统建网站,内容和页面样式绑得死死的,改起来很麻烦。Strapi 不一样!它只管存储和管理你的文字、图片、视频等内容本身,不限制你怎么把它们显示出来。你
-
MacOS系统安装PhpStudy的详细流程
在macos上安装phpstudy的步骤是:1.下载phpstudy,2.安装phpstudy,3.启动phpstudy。phpstudy是一个集成的开发环境,包含php、mysql、apache等组
-
配置PhpStorm连接MySQL数据库的详细步骤
在phpstorm中配置mysql数据库连接的步骤如下:打开phpstorm,点击"view" -> "tool windows" -> "data
关注公众号:拾黑(shiheibook)了解更多
赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- Java 23、JDK 23正式发布!你现在用哪个版本
- 港币对人民币汇率2024年1月26日
- 2023中国工业博览会即将开幕,亿欧承办“AI+工业”、“机器人”、“半导体”论坛
- 加币兑换人民币汇率2023年8月25日
- iPhone14直降1800元,拼多多开年狂撒710元券包让你开工开学新气象!
- 美国与韩国举行第三次商用太空对话
- 这个杀手锏一出,中端手机市场格局将改写
- 攻克“卡脖子”技术应重视战略和策略
- 淘宝“回忆杀”上线:还记得你在淘宝的第一次吗?
- AI大模型真香,浪潮开源“源1.0”是不讲武德还是造福产业?
- 中欧班列(武汉)中国信科集团定制专列首发
- 【大公司创新情报】中国移动与中国广电启动“5G战略”合作