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

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

相关推荐
ruxshui40 分钟前
元数据及元数据备份、迁移详解
数据库
禅与计算机程序设计艺术1 小时前
了解NoSQL的数据仓库和ETL
数据库·数据仓库·nosql·etl
专注前端30年1 小时前
负载均衡实战项目搭建指南:从基础到高可用全流程
运维·数据库·负载均衡
山岚的运维笔记2 小时前
SQL Server笔记 -- 第68章:内存中 OLTP(Hekaton)
数据库·笔记·sql·microsoft·sqlserver
山岚的运维笔记3 小时前
SQL Server笔记 -- 第67章:数据库邮件(DBMAIL)
数据库·笔记·sql·microsoft·sqlserver
kylezhao20194 小时前
C#异步和并发在IO密集场景的典型应用 async/await
开发语言·数据库·c#
野犬寒鸦4 小时前
ArrayList扩容机制深度解析(附时序图详细讲解)
java·服务器·数据结构·数据库·windows·后端
专注VB编程开发20年5 小时前
c# CSRedisCore vb.net清空所有键值
数据库·oracle
程序边界5 小时前
数据库MySQL兼容版权限隔离深度体验:从兼容到安全增强的实战之路
数据库·mysql·安全