Mysql
 sql >> Database >  >> RDS >> Mysql

Come bloccare una riga per selezionare in MySQL

Puoi usare un SELECT FOR UPDATE . All'interno della tua transazione, inizia selezionando le righe che vuoi "bloccare", qualcosa del genere:

 SELECT * from TABLE where id = 123 FOR UPDATE;

Se due diverse transazioni tentano di eseguire questa operazione contemporaneamente, MySQL farà attendere la seconda finché la prima non ha eseguito il commit della transazione. In questo modo, avrai la certezza che la seconda transazione esaminerà la riga solo dopo che la prima è stata completata.