使用 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 附加到查询字符串即可。
关于php - INNODB和mysql PDO驱动程序以共享模式锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14726281/