php - PDO begintransaction 与 MySQL 数据库锁

标签 php mysql pdo

使用pdo begintransaction有什么好处,这个和mysql db lock一样吗?

我有一个包含 url 和状态列的表,每当我的应用程序加载 10 个 url 时,我需要将状态列更新为已加载。此应用程序将同时被几个用户访问,我如何防止用户 B 在状态列更新之前加载用户 A 加载的相同 url。

谁能帮帮我。

最佳答案

事务和表锁做不同的事情。在你的情况下,可能最简单的方法来完成你想要的是:

  • 锁定表格以进行写作
  • 选择 10 个 status = new 的 URL
  • 将这 10 个 URL 设置为 status = processing
  • 解锁 table
  • 对于每个 URL,进程,并设置 status = done

关于php - PDO begintransaction 与 MySQL 数据库锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3493307/

相关文章:

java - Hibernate 无法使用 JBOSS 检索数据

带有 foreach 和 fetch 的 PHP PDO

php - 使用 PDO 检查数据重复项

php - MYSQL 8.0 - 不支持的重做日志格式

PHP Excel 多张导出 || fatal error : Uncaught exception 'PHPExcel_Exception'

mysql - 使用 AWS 发送有关数据库更新的自动电子邮件

php - 将带有下拉菜单的文本插入数据库

php - 将 Div 的数组内容保存到 MySQL 数据库

php - 如何在php中制作表格 View

php - 如何将数据库中的图片显示到heredoc中?