开发者社区> 问答> 正文

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
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像