JAVA进行MYSQL数据库数据插入操作时,出现数据重复的处理问题?

两种方案:
1.先查询具有唯一约束的字段是否已存在将插入的值,再决定是否进行插入操作
2.直接进行插入操作,根据是否有报唯一约束异常来返回插入成功或者某些字段重复的信息


从优化上讲,方案1更合适,但如果具有唯一约束的字段不止一个时,查询过程就会及其耗时。


这两种方案是否根据使用场景选择?另方案2如何提取数据库返回的唯一约束异常,如返回具体的重复字段为哪个?

mysql
JAVA
2023-09-25 13:06:17
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Potatoes先生

当然两个方式都用了。

比如注册场景,
方案1是为了友好提示:​​您的手机号已被注册,请直接登录​​等等~
方案2是为了避免出现一些代码逻辑上的问题,以及一些高并发的场景,导致数据库出现重复数据。

唯一约束能在根源上保证数据唯一。


分享
微博
QQ
微信
回复
2023-09-25 14:35:38
相关问题
HarmonyOS 数据库dataORM插入数据失败
251浏览 • 1回复 待解决
如何将easymock数据插入数据库
2425浏览 • 1回复 待解决
HarmonyOS 关系型数据库批量插入数据
347浏览 • 1回复 待解决
数据库插入数据不成功怎么回事?
2472浏览 • 1回复 待解决
网络请求数据处理问题
387浏览 • 1回复 待解决
数据库操作同步方法
1831浏览 • 1回复 待解决
鸿蒙操作系统数据库操作
10210浏览 • 1回复 待解决
数据中台数据库选择问题
2030浏览 • 1回复 待解决
OrmDatabase 数据库问题
3577浏览 • 1回复 待解决
PolarDB MySQL如何快速克隆数据库
3072浏览 • 1回复 待解决
TaskPool线程中如何进行数据库操作
251浏览 • 1回复 待解决