php - MYSQL X 带有事务的锁

标签 php mysql transactions pdo

快速提问,

我想为事务独占锁定一行,例如:

选择......FROM......用于更新

我的问题是在执行PDO::beginTransaction之前我需要这样做吗? 在事务内执行UPDATE,然后在抛出异常时手动解锁?

或者我可以将其放在交易中吗?

提前致谢。

最佳答案

在 PDO::beginTransaction 之前调用 SELECT.....FROM.....FOR UPDATE 没有意义,因为它将在自动包装事务中调用(如果 autocommit=true 则为mysql 中默认),因此不会锁定任何实际记录。

所以在beginTransaction之后进行

关于php - MYSQL X 带有事务的锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11648484/

相关文章:

c# - 多线程应用程序中的 SQLite 事务

macos - 使用 MAMP Pro php.ini 而不是 OSX php

javascript - 浏览器如何处理跨选项卡的AJAX请求

mysql - 如何限制列表中的项目,但仍然在 MYSQL 中显示完整的组?

mysql - 需要mysql查询从两个表中提取数据

nhibernate - session.BeginTransaction()和transaction.Commit()

java - 具有事务配置的 Spring Boot

php - PostGreSQL 使用 PDO PHP 创建表

PHP - MySQL - Foreach 循环瓶颈

phpmysql倒排索引搜索m个词中至少匹配n个词