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


INNODB and mysql PDO driver lock in share mode

使用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驱动程序功能设置将其设置为共享模式?如果是,如何?我唯一找到的东西没有答案,文件也不清楚。还是应该简单地将其添加到查询字符串中?

您必须创建查询来处理MySQL语法,仅此而已,例如:

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

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