【问题标题】:Get Lock on MySql table from PHP Script从 PHP 脚本获取对 MySql 表的锁定
【发布时间】:2015-07-21 08:39:39
【问题描述】:

我有几个用户试图同时使用 PHP 脚本访问一个表。

这是一些代码:

$result = mysql_query("SELECT ID FROM usersPark
    WHERE isSharing = '1' and email != '$email' and isBooked != 1")

现在,如果 $result 不为空,我需要像这样设置 isBooked = 1:

UPDATE `usersPark` SET `isBooked` = 1,` WHERE ID = ...

我想,我需要在脚本的最开始,在第一次查询之前获取一个锁。如何获得锁?

【问题讨论】:

标签: php mysql mutual-exclusion


【解决方案1】:

如果您的表使用 InnoDB,那么它支持两种类型的锁定读取,您可以使用它们。

您可能想要使用SELECT ... FOR UPDATE - 或类似的东西。我可以在这里写,但是 MySQL 文档在这方面做得很好,所以请查看here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 2014-10-30
    • 2011-04-27
    • 1970-01-01
    • 2017-04-10
    • 2013-07-13
    相关资源
    最近更新 更多