0
Я искал, но я до сих пор не понимаю, почему это неправильно. Я проверил подзапросы, и они возвращают только 1 строку.Ошибка 1093. Вы не можете указать целевую таблицу «ps_order_history» для обновления в разделе FROM.
UPDATE ps_order_history
SET id_order_state = 18
WHERE id_order =
(
SELECT max(p.id_order)
FROM ps_orders p
INNER JOIN ps_order_detail d ON d.id_order = p.id_order
INNER JOIN ps_order_history oh ON oh.id_order = p.id_order
WHERE d.product_name = "Academia Mastermaq"
AND p.id_customer =
(
SELECT id_customer
FROM ps_customer
WHERE firstname = "Cristiano"
AND lastname = "Ferreira dos Santos"
LIMIT 1
)
)
Error Code: 1093. You can't specify target table 'ps_order_history'
for update in FROM clause
Спасибо!
Вы не можете обновить таблицу, которую вы выбираете. например ваше обновление работает на 'ps_order_history', и вы выбираете из' ps_order_history' как одно из объединенных полей в вашем подселекторе WHERE. –
Я вижу. Спасибо, я решил проблему. –