Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql for update

作者:浮云过影   发布日期:2026-05-10   浏览:45

-- 示例代码:使用 FOR UPDATE 实现行级锁

-- 假设有一个名为 `accounts` 的表,包含用户账户信息和余额。
CREATE TABLE accounts (
    id INT PRIMARY KEY,
    balance DECIMAL(10, 2)
);

-- 插入一些示例数据
INSERT INTO accounts (id, balance) VALUES (1, 1000.00), (2, 2000.00);

-- 开始一个事务,并对特定行加锁
START TRANSACTION;

-- 使用 FOR UPDATE 对指定的行加锁,防止其他事务修改这些行
SELECT balance FROM accounts WHERE id = 1 FOR UPDATE;

-- 在同一事务中进行更新操作
UPDATE accounts SET balance = balance - 100 WHERE id = 1;

-- 提交事务
COMMIT;

解释说明:

  • FOR UPDATE 是 MySQL 中用于在查询时对行加锁的关键字。它通常用于事务中,确保在事务提交之前,其他事务不能修改或删除这些被锁定的行。
  • 上述代码展示了如何在一个事务中使用 FOR UPDATEaccounts 表中的某一行(例如 id = 1)加锁,然后在同一事务中对该行进行更新操作。这样可以避免并发事务对该行的数据进行冲突性修改。

上一篇:mysql float

下一篇:mysql时间格式转换

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql 1265

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

brew 启动mysql

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站