首页 > 解决方案 > 使用条件mysql将数据从一个表插入另一个表

问题描述

您好我有以下问题我有两个表假设这些是表 1 和表 2。表 1 有 A、B、C、D 列,表 2 有 A、B、C、D、E、F、G 列, H, I 我需要在 F、G、H 列的表 2 中插入表 1 中的数据 B、C、D,使用条件为 A = A

我不能使用

INSERT INTO table2 (F, G, H) SELECT B, C, D FROM table1;

因为数据是乱序的,所以在插入数据时它们会被混合

是否可以做出符合要求的句子,如果符合,会以什么方式?

标签: mysqlsqlselectsql-updatesql-insert

解决方案


我需要将表 1 中的数据 B、C、D 插入 F、G、H 列的表 2 中,使用条件为 A = A

我想你想要update,而不是insert

update table2 t2
inner join table1 t1 on t1.a = t2.a
set t2.f = t1.b, t2.g = t1.c, t2.h = t1.d

对于 中的每一行,这将在;table2中搜索table1匹配。a找到时,它会更新列和的列f、、的值。ghtable2abctable1

为了使其始终如一地工作,a应该是两个表中的唯一键。


推荐阅读