TableSelect::lockExclusive

(No version information available, might only be in Git)

TableSelect::lockExclusiveEXCLUSIVE LOCK を実行する

説明

public mysql_xdevapi\TableSelect::lockExclusive(int $lock_waiting_option = ?): mysql_xdevapi\TableSelect

EXCLUSIVE LOCK 付きで読み取り操作を実行します。 一度にアクティブになれるロックはひとつだけです。

パラメータ

lock_waiting_option

オプションで指定できる、ロック待ちのオプション。 デフォルトは MYSQLX_LOCK_DEFAULT です。 有効な値は以下のとおりです:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

戻り値

TableSelect オブジェクトを返します。

例1 mysql_xdevapi\TableSelect::lockExclusive() の例

<?php
$session 
mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema $session->getSchema("addressbook");
$table  $schema->getTable("names");

$session->startTransaction();

$result $table->select('name''age')
  ->
lockExclusive(MYSQLX_LOCK_NOWAIT)
  ->
execute();

$session->commit();

$row $result->fetchAll();
print_r($row);
?>

上の例の出力は、 たとえば以下のようになります。

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 42
        )
)
関連キーワード:  TableSelect, EXCLUSIVE, 実行, LOCK, xdevapi, lockExclusive, Array, ロック, option, lock