-- 示例代码:使用 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 UPDATE 对 accounts 表中的某一行(例如 id = 1)加锁,然后在同一事务中对该行进行更新操作。这样可以避免并发事务对该行的数据进行冲突性修改。上一篇:mysql float
下一篇:mysql时间格式转换
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站