otwórz 2 sesję klienta mysql.
w sesji 1:
mysql> start transaction;
mysql> SELECT * FROM table_name WHERE cond FOR UPDATE;
... (result here) ...
1 row in set (0.00 sec)
w sesji 2:
mysql> start transaction;
mysql> SELECT * FROM table_name WHERE cond FOR UPDATE;
... (no result yet, will wait for the lock to be released) ...
powrót do sesji 1, aby zaktualizować wybrany rekord (i zwolnić blokadę):
mysql> UPDATE table_name SET something WHERE cond;
mysql> commit;
powrót do sesji 2:
1) wyświetlanie błędu przekroczenia limitu czasu blokady
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
2) lub pokazywanie wyniku
... (result here) ...
1 row in set (0.00 sec)
3) lub nie pokazuje żadnych wyników (ponieważ odpowiedni rekord został zmodyfikowany, więc określony warunek nie został spełniony)
Empty set (0.00 sec)