Php INNODB和mysql PDO驱动程序在共享模式下锁定
使用INNODB,您可以在共享模式下添加查询锁;这样其他用户仍可以读取,但在编辑的用户完成之前不能更新 我当前在PHP中使用的PDO函数如下所示:Php INNODB和mysql PDO驱动程序在共享模式下锁定,php,mysql,pdo,innodb,Php,Mysql,Pdo,Innodb,使用INNODB,您可以在共享模式下添加查询锁;这样其他用户仍可以读取,但在编辑的用户完成之前不能更新 我当前在PHP中使用的PDO函数如下所示: //$this->db is a PDO connection to the MYSQL innodb database. try { $this->db->beginTransaction(); $tmp = $this->db->prepare($query); $tmp-&g
//$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
只需在共享模式下将锁附加到查询字符串。您必须创建查询以使用MySQL语法,仅此而已,例如:
SELECT * FROM parent WHERE NAME = 'Jones' LOCK IN SHARE MODE
只需将共享模式下的锁附加到查询字符串。这样,这不会妨碍PDO连接的事务功能吗?提交后会释放锁吗?或者我需要通过查询释放它吗?是的,交易功能将工作,并且在交易结束后将释放锁。谢谢!你帮了大忙!那么,这不会妨碍PDO连接的事务功能吗?提交后会释放锁吗?或者我需要通过查询释放它吗?是的,交易功能将工作,并且在交易结束后将释放锁。谢谢!你帮了大忙!