# CollectionFind::lockExclusive

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

CollectionFind::lockExclusive — Exécute l'opération avec un VERROU EXCLUSIF

### Description

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

Vérouille le document de manière exclusive. Tant que le document est verrouillé, d'autres transactions ne peuvent pas mettre à jour le document, utiliser `SELECT ... LOCK IN SHARE MODE`, ou lire les données dans certains niveaux d'isolation de transaction. Les lectures cohérentes ignorent les verrous définis sur les enregistrements qui existent dans la vue de lecture.

Pour éviter les problèmes de concurrence, il est logique d'utiliser cette fonction avec la méthode mysql_xdevapi\Collection::modify(). Essentiellement, cette fonction utilise des verrous de ligne pour sérialiser l'accès aux lignes.

### Liste de paramètres

`lock_waiting_option`

  Une option d'attente facultative. Par défaut, c'est `MYSQLX_LOCK_DEFAULT`. Les valeurs valides sont ces constantes :

  - `MYSQLX_LOCK_DEFAULT`

  - `MYSQLX_LOCK_NOWAIT`

  - `MYSQLX_LOCK_SKIP_LOCKED`

### Valeurs de retour

Renvoie un objet CollectionFind qui peut être utilisé pour un traitement ultérieur.

### Exemples

Exemple #1 Exemple de 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();
// ... faire une opération sur l'objet
// Valider la transaction et déverrouiller le document
$session->commit();
?>`