2015-08-18 5 views
-1

У меня есть таблица «oldTable» с городом внутри, в которой есть идентификаторы полей, city и postal_code.Обновление с помощью выбора

Эта таблица является фактической для пользователя, определяющей его город, но я хочу обновить эту таблицу, чтобы я мог загрузить новую таблицу со всем городом внутри.

Эта новая таблица 'newTable' содержит идентификатор поля, old_id, city и postal_code.

Что я хочу, чтобы поместить в поле «old_id» от «Новая_таблицы» ид, которые соответствуют городу «oldTable», так что я сделать это SQL:

UPDATE newTable 
SET old_id = oldTable.id 
FROM oldTable 
WHERE oldTable.city= newTable.city 
AND oldTable.postal_code = newTable.postal_code 

Но у меня есть эта ошибка: у вас есть ошибка в вашем синтаксисе SQL, проверьте руководство, которое соответствует вашей версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с "FROM oldTable WHERE ...

ответ

3

правильный синтаксис для update с join в MySQL является :

UPDATE newTable JOIN 
     oldTable 
     ON oldTable.city = newTable.city AND 
      oldTable.postal_code = newTable.postal_code 
    SET newTable.old_id = oldTable.id; 
+0

Спасибо, что я уже пробовал соединить, но я не ставил SET в хорошем месте. – Kvasir

Смежные вопросы