~丹凤朝阳~
2015-12-16 09:51
采纳率: 66.7%
浏览 5.3k

mysql先查询后插入或者更新的事务并发问题?

在对数据进行插入更新的时候遇到一个问题,做了一个事务:
@Transaction
public void insertOrUpdate(entity){
Object o = search(entity);
if(o!=null)
update(entity);
else
insert(entity);
}
上面的伪代码在非并发态,是正常的。但是在并发的时候就会出现插入多条同样的数据,如果调高隔离级别进行控制,就会报:
Deadlock found when trying to get lock; try restarting transaction
求解决方案

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • sinat_31535993 2015-12-16 09:57

    加锁

    打赏 评论

相关推荐 更多相似问题