Salve a tutti,

Volevo chiedervi dei chiarimenti riguardo all'uso di transazioni e lock table diciamo facendo riferimento a MySQL.

Se, io ho un accesso simultaneo ai dati, usando il lock table ho una certa garanzia.

Poiche una volta acquisita la risorsa blocco la tabella , quindi la uso solo io e tutto ok.

Ora, leggevo che appunto le transazioni sono un altro modo per gestire l'accesso simultaneo ai dati.

Non capisco pero in che modo?

Perche, io apro una transazione nella quale i dati sono validi solo al momento del commit.

Ma, nel tipico esempio che, ho 10 unita di un prodotto, arrivano contemporaneamente 2 utenti, il primo chiede 3 unita il secondo 8 unita.

Con i lock ho capito la logica e il perche' tutto funziona.

Con le transazioni?

Arriva il primo utente parte la transazione, contemporaneamente arriva il secondo cliente e parte la transazione... In che modo ho garanzia che l'esecuzione resti consistente?

Grazie a tutti