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

WBOY
リリース: 2016-06-06 09:35:08
オリジナル
2913 人が閲覧しました

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
求解决方案

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート