TableSelect::lockShared

Execute SHARED LOCK

&reftitle.description; public `mysql_xdevapi\TableSelect` `mysql_xdevapi\TableSelect::lockShared` `int` `lock_waiting_option`

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

&reftitle.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`

&reftitle.returnvalues;

A TableSelect object.

&reftitle.examples;

### `mysql_xdevapi\TableSelect::lockShared` example

    <?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);
    ?>

&example.outputs.similar;

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