Waiting for table metadata lock
drop table tableA name
SELECT l1.lat, l1.lon, l2.zipcode FROM tableA l1, tableBl2 where l1.lat = l2.latitude and l1.lon = l2.longitude limit 10
Nếu đây là bảng của bạn, hãy xem liên kết này
bạn có một bế tắc ngầm. Hủy bỏ các giao dịch khác để giải phóng sự sụt giảm hoặc hủy bỏ sự sụt giảm để giải phóng các giao dịch khác.
Bạn có thể sử dụng GIẾT thread_id, trong sql_plus.
Tôi đang bổ sung thêm thông tin vì tôi đã có một trải nghiệm thú vị khác.
Metadata
Các khóa chết có thể xảy ra như nhau giữa một thao tác ddl trên một bảng nhất định (drop
, alter
...) và một lựa chọn truy vấn trên bảng đó.
Có, select
.
Vì vậy, nếu bạn lặp lại một con trỏ trong mysql (hoặc php, ví dụ:với pdo::fetch
), và bạn chạy một câu lệnh ddl trên (các) bảng giống nhau, bạn sẽ gặp phải sự cố.
Một giải pháp cho tình huống không điển hình này là giải phóng các khóa ngầm bằng commit
câu lệnh một cách có hệ thống sau khi bất kỳ câu lệnh select nào được tìm nạp hoàn toàn.