@QNA-1976

Почему update join ругается на limit, select join — нет?

Заметил, что при select с join таблиц по limit всё работает, но в update с join таблиц по limit ошибка: SQLSTATE[HY000]: General error: 1221 Incorrect usage of UPDATE and LIMIT

Кто-то может пояснит - почему, ведь при апдейте одной таблицы по limit всё работает.
  • Вопрос задан
  • 290 просмотров
Решения вопроса 1
isset89
@isset89
Врёшь, тебе нравится
"For the multiple-table syntax, UPDATE updates rows in each table named in table_references that satisfy the conditions. In this case, ORDER BY and LIMIT cannot be used." - это конкретно ответ на твой вопрос.
Если надо кровь из носа сделать limit , то запрос должен выглядеть примерно так:
UPDATE table1 t JOIN
(
SELECT p.value1, p.value2
FROM table1 p JOIN table2 m
ON p.id= m.id
ORDER BY p.id
LIMIT 100
) s
ON t.id = s.id
SET t.value = s.value;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы