繁体   English   中英

根据另一列的值将值插入新表的列中

[英]Insert value into column in new table based on value from another column

我有以下两个表:

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

我想根据名称将表 1 中的正确 table1_id 添加到表 2 的 table1_id 列中。 所以第一行是 1 - 1 - 汤姆,等等。

这如何在 MySQL 查询中执行?

感谢帮助!

您可以使用join

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

为了提高性能,您需要在table1(name)上建立索引。 您还希望确保该列在table1没有重复。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM