Почему я получил ошибку при попытке выполнить этот запрос:
UPDATE ordersperformers AS t1 SET t1.Status = 1
where not exists (
SELECT 1 FROM ordersperformers
WHERE ordersperformers.Orders_Id = 3
AND (ordersperformers.Status = 1 OR ordersperformers.Status = 2))
AND t1.Orders_Id = 3 AND t1.Users_Id = 5;
Почему MySQL не понимает, что я работаю с таблицей ordersperformers
?
Ошибка:
#1093 - Table 't1' is specified twice, both as a target for 'UPDATE' and as a separate source for data
.
Если выполнить запрос:
UPDATE ordersperformers SET Status = 1
where ordersperformers.Status NOT IN (1,2)
AND Orders_Id = 3;
В любом случае будет обновлена одна строка:

Но мне не нужно обновлять строки, потому что таблица с Orders_Id = 3
имеет одну строку с Status = 1