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

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

相关推荐
2303_8212873815 小时前
c++ RAII机制详解 c++如何利用RAII管理资源
jvm·数据库·python
小宇的天下15 小时前
Calibre 3Dstack --每日一个命令day25【no_trace】(3-25)
数据库
m0_6245785916 小时前
C#怎么获取U盘的插拔事件_C#如何重写WndProc捕获消息【进阶】
jvm·数据库·python
消失的旧时光-194316 小时前
SQL 第四篇:JOIN 实战(数据库到底是怎么“拼表”的)
数据库·sql·mysql
深蓝轨迹16 小时前
Spring Data JPA 实战指南:从基础配置到高级技巧
数据库·oracle·spring data jpa
爱喝水的鱼丶16 小时前
SAP-ABAP:SAP 与 ABAP 关联逻辑与入门路径:业务×开发的协作指南
服务器·前端·数据库·学习·sap·abap
MandalaO_O17 小时前
SQL 注入
数据库·oracle
eggrall17 小时前
MySQL表的操作
数据库·mysql
wearegogog12317 小时前
MATLAB椭圆参数检测算法实现
数据库·算法·matlab
福娃筱欢17 小时前
金仓数据库同步延迟告警处理步骤
数据库