数据库同一时间插入重复数据

Roin 发布于 2018/10/22 12:01
阅读 354
收藏 1

编码语言:java7

数据库:mysql 5.17

问题:从另一个接口查回来数据,组装后插入到我自己的系统,save前也进行了数据检查,但是偶尔会出现两条一模一样的数据(除了ID,自增主键),是什么原因引起的?有什么办法解决?我是考虑使用唯一索引解决,但是不知道怎么重现来测试是否会导致其他问题(比如两条数据都插入失败),有没有比较好的解决方案?

 

加载中
0
Ryan-瑞恩
Ryan-瑞恩

请求幂等!

Roin
Roin
回复 @Ryan-瑞恩 : 没有重试,modify_date是因为我自己操作的,
Ryan-瑞恩
Ryan-瑞恩
回复 @Roin : 从你截图上面的来说,modify_date 中间差了 13 秒。。。还有一点,你的请求有中间有重试吧!
Roin
Roin
感谢你的回答,但可能是我没有说明白,是我向另一个服务器请求回来数据插入到我自己的系统数据库,这应该和请求幂等没有关系吧。
0
尚浩宇
尚浩宇

试试sql的ON DUPLICATE KEY UPDATE,核心字段一样的话就update,否则insert

尚浩宇
尚浩宇
回复 @Roin : 额,这难用的玩意儿还有人在用啊
Roin
Roin
系统使用Hibernate,使用ON DUPLICATE KEY UPDATE不好改造,要是mybatis就好了
0
空丶
空丶

是不是update语句写成insert了,相差13分钟。。

返回顶部
顶部