-- 这是一个使用 SELECT ... FOR UPDATE 的示例,它用于在事务中锁定选定的行,以防止其他事务修改这些行。
START TRANSACTION;
-- 假设我们有一个名为 'accounts' 的表,包含 'id' 和 'balance' 两个字段。
-- 我们想要锁定 id 为 1 的账户,并更新其余额。
SELECT balance FROM accounts WHERE id = 1 FOR UPDATE;
-- 在这里执行一些逻辑,例如计算新的余额值。
-- 更新账户余额
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
COMMIT;
START TRANSACTION;:开始一个事务。SELECT balance FROM accounts WHERE id = 1 FOR UPDATE;:选择 id 为 1 的账户,并对其加锁,防止其他事务在此期间修改该行的数据。UPDATE accounts SET balance = balance - 100 WHERE id = 1;:更新锁定的账户余额。COMMIT;:提交事务,释放锁并保存更改。通过这种方式,可以确保在事务期间,其他事务无法修改被锁定的行,从而避免并发问题。
上一篇:linux安装mysql客户端
下一篇:mysql 关键字
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站