微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[MySQL] 有没有解决幻读问题

认隔离级别下,MysqL没有解决幻读问题,需要应用代码里加一个锁来解决

幻读问题是啥?

 

认的隔离级别是可重复读 REPEATABLE-READ   ,  在这个模式下出现幻读的例子一般是这两种情况:

事务1和事务2同时,事务1读数据,事务2插入数据提交,事务1插入同样的数据时报错说已经重复了,我明明刚才查的时候没有,为啥报重复了? 

事务1和事务2同时,事务1更新数据可以把事务2的数据也一块给更了,明明刚才没有怎么突然多出来数据了?

 

解决方式是在select读时候的sql增加for update ,会把我所查到的数据锁住,别的事务根本插不进去,这样就解决了,这里用到的是MysqL的next-key locks

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐