Вставить значение в столбец в новой таблице на основе значения из другого столбца - PullRequest
0 голосов
/ 16 марта 2020

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

table 1:
------------------
table1_id   name
------------------
1           tom
2           bob
3           anne



table 2:
------------------------------------
table2_id     table1_id       name
------------------------------------
1                             tom
2                             tom
3                             anne
4                             tom
5                             bob
6                             bob
7                             anne
8                             tom

Я хочу добавить правильный table1_id из таблицы 1 в столбец table1_id таблицы 2 на основе имени. Так, чтобы первая строка была 1 - 1 - том и т. Д.

Как это можно выполнить в запросе MySQL?

Спасибо за помощь!

1 Ответ

0 голосов
/ 16 марта 2020

Вы можете использовать join:

update table2 t2 join
       table1 t1
       on t2.name = t1.name
    set t2.table1_id = t1.table1_id;

Для производительности вам нужен индекс на table1(name). Вы также хотите быть уверены, что столбец не дублируется в table1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...