php8.5
Home/ Manual/ mysql_xdevapi / tableselect/ TableSelect::lockShared

TableSelect::lockShared

PHP function Edit on GitHub ✎

Execute SHARED LOCK

Description

mysql_xdevapi\TableSelect::lockShared([int $lock_waiting_option]): mysql_xdevapi\TableSelect

Execute a read operation with SHARED LOCK. Only one lock can be active at a time.

Parameters

lock_waiting_option

The optional waiting option that defaults to MYSQLX_LOCK_DEFAULT. Valid values are:

  • MYSQLX_LOCK_DEFAULT
  • MYSQLX_LOCK_NOWAIT
  • MYSQLX_LOCK_SKIP_LOCKED

Return Values

A TableSelect object.

Examples

mysql_xdevapi\TableSelect::lockShared() example

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

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

$session->startTransaction();

$result = $table->select('name', 'age')
  ->lockShared(MYSQLX_LOCK_NOWAIT)
  ->execute();

$session->commit();

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

The above example will output something similar to:

output
Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 42
        )
)

Source: reference/mysql_xdevapi/mysql_xdevapi/tableselect/lockshared.xml · from the official PHP manual (php/doc-en)