ошибка Error Code: 1093. You can't specify target table 'infostud' for update in FROM clause
Primary tabs
дело в том ,что mysql не даёт обновлять таблицу и тут де читать из неё данные - поэтому необходимо использовать подзапрос , который выполняется раньше , чем начинается обновление , но такой подзапрос должен начинаться с ключевого слова FROM (а не просто быть "логически") подзапросом,
неправильно так =
UPDATE customer SET customer.priority = 1 WHERE customer.id IN ( SELECT DISTINCT customer.id FROM customer INNER JOIN purchase ON customer.id = purchase.customer_id )
правильно так =
UPDATE customer SET customer.priority = 1 WHERE customer.id IN ( SELECT id FROM ( SELECT DISTINCT customer.id FROM customer INNER JOIN purchase ON customer.id = purchase.customer_id ) AS tmptable )
_____________________________________________
Источники(читать подробнее)=
http://verysimple.com/2011/03/30/mysql-c...
http://www.mysqlfaqs.net/mysql-faqs/Erro...
ДРУГИЕ РЕШЕНИЯ
____________________________________
Ключевые слова и фразы(для поиска)=
- vedro-compota's blog
- Log in to post comments
- 8108 reads