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

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

相关推荐
云淡风轻~窗明几净5 分钟前
ubuntu的lazarus的Tline/TeaLine组件的构思
linux·数据库·ubuntu
雒珣6 分钟前
Qt实现命令行参数功能示例:QCommandLineParser
开发语言·数据库·qt
知识分享小能手12 分钟前
MongoDB入门学习教程,从入门到精通,MongoDB备份完全指南(23)
数据库·学习·mongodb
源来猿往16 分钟前
mysql转postgresql【平移】
数据库·mysql·postgresql
爱学习的小囧19 分钟前
VMFS与NFS性能对比(含场景适配+实操建议)
运维·数据库·自动化·esxi·虚拟化
byte轻骑兵21 分钟前
Apache IoTDB 技术特性与大数据时序数据库选型实践
大数据·数据库·人工智能·物联网·时序数据库
Dream of maid22 分钟前
Mysql(7)子查询
android·数据库·mysql
学习中的DGR25 分钟前
[极客大挑战 2019]BabySQL 1新手解题过程
数据库·web安全·网络安全
大黄说说40 分钟前
Go并发双雄:WaitGroup与Channel的抉择与协作
java·服务器·数据库
喜欢打篮球的普通人1 小时前
MLIR入门
数据库·mlir