mở 2 phiên khách hàng mysql.
vào phiên 1:
mysql> start transaction;
mysql> SELECT * FROM table_name WHERE cond FOR UPDATE;
... (result here) ...
1 row in set (0.00 sec)
vào phiên 2:
mysql> start transaction;
mysql> SELECT * FROM table_name WHERE cond FOR UPDATE;
... (no result yet, will wait for the lock to be released) ...
quay lại phiên 1, để cập nhật bản ghi đã chọn (và mở khóa):
mysql> UPDATE table_name SET something WHERE cond;
mysql> commit;
quay lại phiên 2:
1) hiển thị lỗi thời gian chờ khóa
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
2) hoặc hiển thị kết quả
... (result here) ...
1 row in set (0.00 sec)
3) hoặc không hiển thị kết quả (vì bản ghi tương ứng đã được sửa đổi, do đó điều kiện cụ thể không được đáp ứng)
Empty set (0.00 sec)