Führt eine Operation mit EXCLUSIVE LOCK aus

# CollectionFind::lockExclusive

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

CollectionFind::lockExclusive — Führt eine Operation mit EXCLUSIVE LOCK aus

### Beschreibung

public function mysql_xdevapi\CollectionFind::lockExclusive(int `$lock_waiting_option` = ?): mysql_xdevapi\CollectionFind

Sperrt das Dokument exklusiv. Solange das Dokument gesperrt ist, können andere Transaktionen das Dokument nicht aktualisieren, `SELECT ... LOCK IN SHARE MODE` verwenden oder die Daten in bestimmten Isolationsstufen der Transaktion lesen. Zusammenhängende Lesevorgänge ignorieren alle Sperren, die auf die in der Leseansicht vorhandenen Datensätze gesetzt sind.

Um Gleichzeitigkeitsprobleme zu vermeiden, ist es sinnvoll, diese Funktion zusammen mit der Methode mysql_xdevapi\Collection::modify() zu verwenden. Im Wesentlichen verwendet diese Funktion Zeilensperren, um den Zugriff auf Zeilen zu serialisieren.

### Parameter-Liste

`lock_waiting_option`

  Die optionale Warteoption. Voreingestellt ist `MYSQLX_LOCK_DEFAULT`. Folgende Konstanten sind zulässig:

  - `MYSQLX_LOCK_DEFAULT`

  - `MYSQLX_LOCK_NOWAIT`

  - `MYSQLX_LOCK_SKIP_LOCKED`

### Rückgabewerte

Gibt ein CollectionFind-Objekt zurück, das für die weitere Verarbeitung verwendet werden kann.

### Beispiele

Beispiel #1 mysql_xdevapi\CollectionFind::lockExclusive()-Beispiel

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

    // ... durchführen einer Operation am Objekt

    // Abschließen der Transaktion und entsperren des Dokuments
    $session->commit();
    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open