从PHP脚本获取MySql表上的锁定

时间:2015-07-21 08:39:39

标签: php mysql mutual-exclusion

我有几个用户同时尝试使用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 = ...

我认为,我需要在第一个查询之前在脚本的最开头获取一个锁。我怎样才能锁定?

1 个答案:

答案 0 :(得分:0)

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

你可能想要使用SELECT ... FOR UPDATE - 或类似的东西。我可以在这里写一下,但MySQL文档相当不错,所以检查here