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/

随时掌握互联网精彩
- WatchDog.NET开源且功能强大的实时应用监控系统
- 英镑兑换人民币汇率2024年6月7日
- 港币对人民币汇率2024年2月27日
- 北京程序员年收入中位数超 60 万元;OpenAI 拟下周推出 GPT 商店;钉钉个人版全量上线|极客头条
- Call Annie AI 与虚拟女性形象进行视频聊天的应用
- 就喜欢这种新奇的东西
- 对话罗永浩:再创业可能后悔,不再创业百分之百后悔
- 【有料视频】不要有的3个用机坏习惯
- 美兰德公司提出评估国家科技水平的一种开源方法
- 四年之后的极客归来:联手超级英雄,释放超级力量
- 明星餐饮频翻车:噱头大于实质,名气大于品质
- 小米集团总裁:造车尚未正式开始,提前发布希望获得更好全球资源;蚂蚁集团公布碳中和路线图 | Do晚报