CollectionFind::lockExclusive

(无版本信息可用,可能只存在于 Git 中)

CollectionFind::lockExclusive以 EXCLUSIVE LOCK 执行操作

说明

public mysql_xdevapi\CollectionFind::lockExclusive(int $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();
?>
添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top