У меня есть таблица «Temp» и таблица «Today» с теми же именами столбцов («url» и «date»).SQL Update + Inner Присоединиться к ряду строк
Я хочу обновить столбец «date» таблицы «Temp» при совпадении URL. Но мои таблицы довольно большие (30K элементов) и PHPMyAdmin не хочет выполнить следующий - справа - запрос:
update Temp Tp
inner join Today Ty on
Tp.url = Ty.url
set Tp.date = Ty.date
Я получаю «выполнение запроса был прерван, ошибка # 1317» Почему? Я ожидаю, что это связано с тем, что я плачу за взаимный сервер (OVH), и я не могу выполнять запросы более 2-3 секунд.
В любом случае, теперь я хочу выполнить этот диапазон запросов по диапазону. Первые 1000 строк, 1000-2000 и т.д.
Я попытался следующие:
update Temp Tp
inner join
(
select Tp2.date
from Temp Tp2
inner join Today Ty2
on Tp2.url = Ty2.url
limit 1000
) Ty on Tp.url = Ty.url
set Tp.date = Ty.date
, но я получаю следующее сообщение об ошибке: # 1054 - Неизвестный столбец 'Ty.url' в 'по статье'
Я не мог понять, почему?
PS: Я использовал эту тему: http://stackoverflow.com/questions/20558649/mysql-update-join-with-limit писать второй запрос, но превышены пределы ... – Vincent
Поскольку ваш подзапрос содержит только один столбец ... «Ty.date». Вам нужно добавить Ty.url в ваш оператор select. – pmbAustin
Этот MySQL или SQL Server –