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

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

相关推荐
iAm_Ike几秒前
JavaScript中模块化在游戏引擎开发中的资源调度作用
jvm·数据库·python
m0_702036538 分钟前
Layui表单input框怎么设置只读或禁用
jvm·数据库·python
weixin_459753948 分钟前
php怎么调用快手开放平台_php如何接入快手授权登录流程
jvm·数据库·python
weixin_4440129316 分钟前
SQL中如何实现基于条件的批量逻辑删除_过滤与更新状态位
jvm·数据库·python
萤萤七悬23 分钟前
【人工智能训练师3级】考试准备(2026)三、实操题1.1.3-3.2.5
前端·数据库·人工智能
m0_6138562925 分钟前
Python中PyTorch模型如何显存优化_使用梯度检查点减少显存占用
jvm·数据库·python
米高梅狮子29 分钟前
13.ETCD 存储系统、生产环境 Kubernetes 集群部署和Kubernetes 集群升级
数据库·云原生·容器·架构·kubernetes·自动化·etcd
Yupureki32 分钟前
《MySQL数据库基础》6.表的增删查改
linux·服务器·数据库·mysql
北顾笙98036 分钟前
MySQL-day1
数据库·mysql
阿波罗尼亚9 小时前
数据库序列(Sequence)
数据库