MYSQL запрос для переноса данных из одной таблицы в другую

Пожалуйста, помогите создать запрос в Mysql для переноса данных 1-го конкретного поля для все значений из старой базы данных в новую, по ключевому полю.

Структура такая:

Старая база bd_old.table_old

Новая база bd_new.table_new

В таблицах обеих баз данных есть поле(столбец) 'description'

Нужно из старой базы все значения этого поля перенести в новую.

Есть ключевое поле 'id' значения которого совпадают в обеих базах.


Ответы (2 шт):

Автор решения: teran

Используйте UPDATE совместно с JOIN. таким образом сразу отфильтруете все записи, которые имеют соответствия, и только их и обновите

UPDATE t1
INNER JOIN t2 on t2.id = t1.id
SET t1.description = t2.description
→ Ссылка
Автор решения: PZBird

Если значения уже есть в новой базе и речь только про обновление, то можно

  1. Через джоин
UPDATE `bd_new.table_new` new
    INNER JOIN bd_old.table_old old ON new.id = old.id
SET new.description = old.description;
  1. Через сабквери (в большинстве случаев более ресурсоемкий чем join)
UPDATE `bd_new.table_new` new
SET description = (
    SELECT old.description
    from bd_old.table_old old
    WHERE old.id = new.id
)
→ Ссылка