MySQL вставка из запроса выбора

У меня есть две таблицы:

ТАБЛИЦА 1

| ColumnA  | ColumnB  |
-----------------------
| 123      | 1        |

ТАБЛИЦА 2

| ColumnA  | ColumnC  |
-----------------------
| 123      | 20       |

Я изменил таблицу 2, чтобы добавить новый столбец, чтобы он выглядел следующим образом

НОВАЯ ТАБЛИЦА2

| ColumnA  | ColumnC  | ColumnB  |
----------------------------------
| 123      | 20       | NULL     |

Теперь я хочу выбрать значения TABLE1.Column B и вставить его в TABLE2.Column B

Итак, я написал этот запрос:

INSERT INTO TABLE2 (ColumnB)
SELECT t1.ColumnB
FROM TABLE1 AS t1
INNER JOIN
TABLE2 AS t2
ON t1.ColumnA = t2.ColumnA;

Но, похоже, это не сработало. Я что-то пропустил?

2 ответа

Решение

Вам нужно использовать инструкцию UPDATE для обновления таблицы. ВСТАВКА добавит новые строки.

UPDATE Table2
JOIN Table1
ON
Table2.columnA = Table1.ColumnA
SET 
Table2.ColumnB = Table1.ColumnB
WHERE
Table2.ColumnB IS NULL

Вы, кажется, не хотите вставлять. Похоже, вы хотите обновить строки уже в table2. Ты можешь использовать:

update table2 set ColumbB=(select ColumnB from table1 where table1.ColumnA=table2.ColumnA)
Другие вопросы по тегам