Ошибка обновления MySQL 1093

Это работает в таблице, где doc_id является первичным ключом:

select count(*)+1 from doctor where 
exp > (select exp from doctor where doc_id='001');

+------------+
| count(*)+1 |
+------------+
|          2 |
+------------+

Но когда я использую тот же запрос выбора для установки поля в таблице, он сообщает следующую ошибку :

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

Я не могу понять, о какой ссылке на целевую таблицу идет речь. Может кто-нибудь объяснить?

5
задан Juan Mellado 1 May 2012 в 17:03
поделиться