使用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附加到查询字符串即可。