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

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

相关推荐
冷环渊3 分钟前
Redis常用进阶 存储原理和主从思路
数据库·redis·缓存
Peter_chq35 分钟前
Django快速入门
开发语言·数据库·后端·python·django
Gauss松鼠会2 小时前
GaussDB 资源管理指南:冻结、解冻、释放与生命周期控制
数据库·人工智能·database·gaussdb
咖啡の猫6 小时前
数据库的基本概念
数据库
小卓笔记6 小时前
keepalived应用
linux·服务器·数据库
八股文领域大手子8 小时前
Leetcode32 最长有效括号深度解析
java·数据库·redis·sql·mysql
鹏神丶明月天8 小时前
mybatis_plus的乐观锁
java·开发语言·数据库
SelectDB技术团队9 小时前
天翼云:Apache Doris + Iceberg 超大规模湖仓一体实践
大数据·数据库·iceberg·doris·数据湖·湖仓一体·天翼云
Cachel wood10 小时前
Mysql相关知识:存储引擎、sql执行流程、索引失效
android·人工智能·sql·mysql·算法·前端框架·ab测试
江湖有缘10 小时前
华为云之MySQL数据的导入导出实践【玩转华为云】
数据库·mysql·华为云