Việc khóa là ẩn, có, nhưng nó không được thực hiện bởi executeUpdate()
. Công cụ lưu trữ trong MySQL xử lý khóa và mở khóa.
Bất cứ khi nào bạn ghi vào bảng MyISAM, truy vấn của bạn sẽ đợi khóa ghi trên bảng khả dụng, khóa ghi được nhận, ghi xong và khóa ghi được giải phóng. Không có đồng thời ghi thực sự trong MyISAM vì thực tế mỗi công nhân đang xếp hàng chờ khóa ghi. Bạn không gặp lỗi vì các yêu cầu ghi được tuần tự hóa.
Tình hình với InnoDB cũng tương tự nhưng rất khác, ở chỗ InnoDB chỉ khóa một phần của bảng, thường là ở cấp hàng, nơi InnoDB có thể khóa một phạm vi trong một chỉ mục, do đó khóa các hàng ở phạm vi đó trong chỉ mục (và khoảng trống trước chúng). Khóa này chi tiết hơn khóa bảng, cho phép cải thiện hành vi đồng thời, nhưng không có hoạt động đồng thời trên cùng một hàng - mỗi nhân viên chờ khóa hoặc khóa mà nó cần.
Trong cả hai trường hợp, các khóa đều được sử dụng một cách ngầm định.