SQL переместить содержимое из 1 таблицы в другую на основе идентификатора строки where

#mysql #sql #database #select

#mysql #sql #База данных #выберите

Вопрос:

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

В качестве примера таблица 1 (o8hcn_j_content) имеет столбец с именем jr_businessdescription.

Я хочу переместить записи в этом столбце в столбец с именем fulltext во 2-й таблице с именем (o8hcn_content) В таблицах нет записей в одинаковом порядке, поэтому я хочу сопоставить это обновление, где поле в первой таблице (o8hcn_j_content), называемое contentid, совпадает с полем id таблицы 2.

Я перепробовал множество способов, вот три, которые, как я думал, сработают, но не сработали:

 UPDATE o8hcn_content SET fulltext = (o8hcn_j_content.jr_businessdescription FROM o8hcn_jreviews_content t2 WHERE o8hcn_j_content.contentid = o8hcn_content.id)

UPDATE o8hcn_content 
SET o8hcn_content.fulltext=o8hcn_j_content.jr_businessdescription,  
WHERE o8hcn_content.id=o8hcn_j_content.contentid;

UPDATE o8hcn_content
SET o8hcn_content.fulltext=o8hcn_j_content.jr_businessdescription
FROM o8hcn_content
INNER JOIN o8hcn_jreviews_content
ON o8hcn_content.id=o8hcn_j_content.contentid
  

Ответ №1:

Правильный синтаксис MySQL:

 UPDATE o8hcn_content JOIN
       o8hcn_jreviews_content
       ON o8hcn_content.id = o8hcn_j_content.contentid
    SET o8hcn_content.fulltext = o8hcn_j_content.jr_businessdescription;