INNODB和mysql PDO驱动程序在共享模式下锁定

时间:2013-02-06 10:06:17

标签: php mysql pdo innodb

使用INNODB,您可以添加到查询LOCK IN SHARE MODE;,以便其他用户仍然可以阅读但不会更新,直到正在编辑的用户完成。

我目前在PHP中的PDO功能如下:

//$this->db is a PDO connection to the MYSQL innodb database.
try 
    {
    $this->db->beginTransaction();
    $tmp = $this->db->prepare($query);  

    $tmp->execute($arr);
    $this->last_id = $this->db->lastInsertId();
    $this->db->commit();
    return $this->last_id;
    }
catch(PDOException $ex)
    {
    $this->db->rollBack();
    return $ex->getMessage();
    }

是否有PDO驱动程序功能设置将其设置为共享模式?如果是这样的话?我找到的唯一的东西没有答案,文件也不是很清楚。 或者我应该将它简单地添加到查询字符串?

1 个答案:

答案 0 :(得分:4)

您必须创建查询以获得MySQL语法,例如:

SELECT * FROM parent WHERE NAME = 'Jones' LOCK IN SHARE MODE

只需将LOCK IN SHARE MODE附加到查询字符串。