MySQL 如何实现乐观锁?

MySQL 如何实现乐观锁?

可以基于版本号实现乐观锁,修改数据的时候带上版本号(或者时间戳):

sql 复制代码
UPDATE student SET name = '小李', version = 2 WHERE id = 100 AND version = 1

在每次数据更新的时候,都带上版本号,同时将版本 + 1,比如现在要更新 id = 1,版本号为 2 的记录,这时候就要先获取 id = 1的版本号,然后更新语句写成

sql 复制代码
UPDATE table SET name = "小明",version = version + 1 WHERE id = 1 and version = 2

如果这个版本号与表记录中的版本号一致的话,就能更新成功,如果不相等就不进行更新,然后需要重新获取该记录的最新版本号,再进行更新数据

相关推荐
guslegend19 小时前
MySQL高手第一章
mysql·adb
marsh020619 小时前
17 openclaw数据库连接池配置:避免性能瓶颈的关键
数据库·ai·oracle·编程·技术
计算机学姐19 小时前
基于SpringBoot的校园二手书籍交易系统【个性化推荐+数据可视化统计+我买到的+我卖出的】
vue.js·spring boot·后端·mysql·信息可视化·intellij-idea·mybatis
2301_8184190119 小时前
Python内存管理机制:垃圾回收与引用计数
jvm·数据库·python
2401_8916558119 小时前
开源项目吐槽大会技术文章大纲
数据库·云原生
jessecyj19 小时前
maven导入spring框架
数据库·spring·maven
qq_4176950519 小时前
构建一个桌面版的天气预报应用
jvm·数据库·python
cm65432019 小时前
Python在金融科技(FinTech)中的应用
jvm·数据库·python
闭关苦炼内功19 小时前
Win10 安装 MySQL5.7.36 数据库记录
数据库·windows·mysql
栀椩19 小时前
MySQL数据库自动备份方法
数据库·mysql