猿问

mysql 大并发情况下,先查询,存在则更新,不存在则插入,求解

long count = select count(0) from table_a where name = "jack";if (count > 0) {
  update
} else {
  insert  
}


并发情况下:

问题1:

是不是只有当name为jack这条记录不存在的时候,才会产生并发问题

问题二:

是不是当name为jack这条记录存在时,就不会产生并发问题

 

个人观点:

当name为jack这条记录不存在时,mysql行锁没有起到作用,导致最终还是有可能插入多条

当name为jack这条记录存在时,该记录被锁住,所以不会产生并发问题。

请各位大神赐教,确实比较不太懂。望能详细讲解一下。感谢!!!


慕码人2483693
浏览 1774回答 1
1回答
随时随地看视频慕课网APP

相关分类

MySQL
我要回答