(无版本信息可用,可能仅存在于 Git 中)
CollectionFind::lockExclusive — 以独占锁执行操作
$lock_waiting_option
= ?): mysql_xdevapi\CollectionFind独占锁定文档。只要文档被锁定,其他事务就不能更新文档,使用SELECT ... LOCK IN SHARE MODE
,或在某些事务隔离级别读取数据。一致性读取会忽略在读取视图中存在的记录上设置的任何锁。
为了避免并发问题,将此函数与mysql_xdevapi\Collection::modify()方法一起使用是很有意义的。本质上,此函数使用行锁来序列化对行的访问。
lock_waiting_option
可选等待选项。默认情况下为MYSQLX_LOCK_DEFAULT
。有效值为这些常量
返回一个可用于进一步处理的 CollectionFind 对象。
示例 #1 mysql_xdevapi\CollectionFind::lockExclusive() 示例
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$session->startTransaction();
$result = $collection
->find("age > 50")
->lockExclusive()
->execute();
// ... 对对象执行操作
// 完成事务并解锁文档
$session->commit();
?>