登录
首页 >  数据库 >  MySQL

一条sql语句解决向有唯一约束的表中插入数据不抛出duplicate异常

来源:SegmentFault

时间:2023-01-11 15:17:19 422浏览 收藏

在数据库实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《一条sql语句解决向有唯一约束的表中插入数据不抛出duplicate异常》,聊聊MySQL,希望可以帮助到正在努力赚钱的你。

应用场景

有些业务会表数据会加入多个字段来作为唯一约束,防止数据重复。由于数据库已经限定了唯一约束,所以程序就不用判断是否已存在该数据,直接插入会抛出duplicate key异常。常规方法在插入前会先select一次,判断是否应该插入新数据,本文是用一句sql解决这个问题,使用ON DUPLICATE KEY UPDATE语句。

sql语句

INSERT INTO table_name (field, field1, field2)
VALUES ('value','value1','value2')
ON DUPLICATE KEY UPDATE field3 = 'value3'

在ON DUPLICATE KEY UPDATE语句之前是正常的insert语句,如果不是重复数据则直接插入该数据,否则,将更新ON DUPLICATE KEY UPDATE之后的字段,多个字段使用逗号隔开。

文中关于mysql的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《一条sql语句解决向有唯一约束的表中插入数据不抛出duplicate异常》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表