Bạn có thể sử dụng SELECT FOR UPDATE
. Bên trong giao dịch của bạn, hãy bắt đầu chọn các hàng bạn muốn "khóa", giống như sau:
SELECT * from TABLE where id = 123 FOR UPDATE;
Nếu hai giao dịch khác nhau cố gắng thực hiện điều này cùng một lúc, MySQL sẽ khiến giao dịch thứ hai đợi cho đến khi giao dịch đầu tiên thực hiện giao dịch. Bằng cách đó, bạn sẽ yên tâm rằng giao dịch thứ hai chỉ xem xét hàng sau khi giao dịch đầu tiên được thực hiện với nó.