này hoạt động trong một bảng nơi doc_id
là chìa khóa chính:MySQL Cập nhật Lỗi 1093
select count(*)+1 from doctor where
exp > (select exp from doctor where doc_id='001');
+------------+
| count(*)+1 |
+------------+
| 2 |
+------------+
Nhưng khi tôi đang sử dụng chọn cùng một truy vấn để thiết lập một lĩnh vực trong bảng, nó báo cáo các lỗi sau:
update doctor set rank=
( select count(*)+1 from doctor where
exp > (select exp from doctor where doc_id='001')
) where doc_id='001';
ERROR 1093 (HY000): You can't specify target table 'doctor' for update
in FROM clause
Tôi không thể hiểu tham chiếu bảng mục tiêu nào đang nói đến. Ai đó có thể giải thích?
mặc dù nó làm cho tôi thắc mắc, liệu hạn chế đó có phải là để bảo vệ bạn khỏi một cái gì đó mà cách giải quyết cho hay đó là một vấn đề kỹ thuật? – chustar