Twoje tagi sugerują, że rozumiesz odpowiedź – blokowanie. Relacyjne bazy danych (ogólnie) implementują właściwości ACID transakcji, które zapewniają spójność danych. W praktyce są one czasami rozluźnione ze względu na wydajność, ale większość baz danych oferuje pewną metodę osiągnięcia tego celu.
W MySQL mechanizmy blokowania zależą od bazowego silnika przechowywania. InnoDB oferuje kilka opcji, które są opisane w dokumentacji .
Aby osiągnąć te blokady, zasadniczo masz dwie opcje składni z SELECT
:
select . . . for update
select . . . lock in share mode
Pamiętaj, że te oświadczenia powinny być używane w wyraźnej transakcji.