Это кажется , что вы пытаетесь обновить только первые 121 значение таблицы estrutura
(порядок определяется в порядке убывания id_horizonte
), используя значения из таблицы horizonte
, используя отношения соединенияна observacao
и nome_horizonte
.Пожалуйста, исправьте меня, если моя интерпретация неверна.
Одной из проблем в вашем коде является то, что вы используете DESC
с Where
предложением.DESC
может использоваться только с ORDER BY
.
Еще одним улучшением может быть изменение вашего запроса на JOIN
на основе вместо использования подзапроса, чтобы определить значение, которое нужно установить.
Попробуйте следующий запрос:
UPDATE estrutura AS q
JOIN horizonte AS h
ON q.observacao = h.observacao AND
q.nome_horizonte = h.nome_horizonte
SET q.id_horizonte = h.id_horizonte
ORDER BY q.id_horizonte DESC
LIMIT 121