开发者社区> 问答> 正文

MySQL 在高并发情况下如何做到安全的修改同一行数据?

MySQL 在高并发情况下如何做到安全的修改同一行数据?

展开
收起
7大帅 2021-12-12 21:05:16 997 0
1 条回答
写回答
取消 提交回答
  • 要安全的修改同一行数据,就要保证一个线程在修改时其它线程无法更新这行记录。一般有悲观锁和乐观锁两种方案~

    使用悲观锁

    悲观锁思想就是,当前线程要进来修改数据时,别的线程都得拒之门外~

    比如,可以使用select…for update ~

    select * from User where name=‘jay’ for update

    以上这条sql语句会锁定了User表中所有符合检索条件(name=‘jay’)的记录。本次事务提交之前,别的线程都无法修改这些记录。

    2021-12-12 23:05:21
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
徐雷-Java为王,互联网高并发架构设计与选型之路6.0 立即下载
Redis 的高并发实战:抢购系统 立即下载
MySQL高并发场景实战 立即下载

相关镜像