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

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

相关推荐
峰子20127 分钟前
B站评论系统的多级存储架构
开发语言·数据库·分布式·后端·golang·tidb
胡耀超1 小时前
CentOS 7.9(linux) 设置 MySQL 8.0.30 开机启动详解
linux·mysql·centos
浏览器爱好者1 小时前
如何使用MongoDB进行数据存储?
数据库·mongodb
yuanpan1 小时前
MongoDB中的横向扩容数据分片
数据库·mongodb
草明1 小时前
Mongodb 慢查询日志分析 - 1
数据库·python·mongodb
yuanpan1 小时前
MongoDB的事务机制
数据库·mongodb
SelectDB2 小时前
Apache Doris 2.1.8 版本正式发布
大数据·数据库·数据分析
计算机学姐4 小时前
基于微信小程序的民宿预订管理系统
java·vue.js·spring boot·后端·mysql·微信小程序·小程序
云和恩墨4 小时前
云计算、AI与国产化浪潮下DBA职业之路风云变幻,如何谋破局启新途?
数据库·人工智能·云计算·dba
明月看潮生5 小时前
青少年编程与数学 02-007 PostgreSQL数据库应用 11课题、视图的操作
数据库·青少年编程·postgresql·编程与数学