abra 2 sessões do cliente mysql.
na sessão 1:
mysql> start transaction;
mysql> SELECT * FROM table_name WHERE cond FOR UPDATE;
... (result here) ...
1 row in set (0.00 sec)
na sessão 2:
mysql> start transaction;
mysql> SELECT * FROM table_name WHERE cond FOR UPDATE;
... (no result yet, will wait for the lock to be released) ...
de volta à sessão 1, para atualizar o registro selecionado (e liberar o bloqueio):
mysql> UPDATE table_name SET something WHERE cond;
mysql> commit;
de volta à sessão 2:
1) mostrando erro de tempo limite de bloqueio
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
2) ou mostrando resultado
... (result here) ...
1 row in set (0.00 sec)
3) ou não mostrando resultado (porque o registro correspondente foi modificado, então a condição especificada não foi atendida)
Empty set (0.00 sec)