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
相关问题
如何将easymock数据插入数据库
643浏览 • 1回复 待解决
数据库操作同步方法
196浏览 • 1回复 待解决
鸿蒙操作系统数据库操作
8038浏览 • 1回复 待解决
数据库插入数据不成功怎么回事?
606浏览 • 1回复 待解决
数据中台数据库选择问题
560浏览 • 1回复 待解决
OrmDatabase 数据库问题
1813浏览 • 1回复 待解决
Native代码如何直接操作数据库
1448浏览 • 1回复 待解决
SQLite数据库MYSQL哪个更好用
988浏览 • 2回复 已解决
后端查询数据库性能问题
2096浏览 • 1回复 待解决
PolarDB MySQL如何快速克隆数据库
1513浏览 • 1回复 待解决
关于处理数据库时分层有知道吗?
1350浏览 • 1回复 待解决
数据库迁移问题有了解吗?
526浏览 • 1回复 待解决