MySql - 从另一个表

时间:2016-12-26 08:04:40

标签: mysql

我有2张桌子。一个表是column1的所有可能唯一值的列表,其中包含2个其他数据列。

第二个表有3列,列值相同,但重复多次。

我有一个查询,可以将第2列和第3列从TableA复制到TableB,但它需要永远运行。这就是我所拥有的:

    TableA
    column1 column2 column3
    1       1       1
    2       2       2

    TableB
    column1 column2 column3
    1       a       b
    2       c       d
    3       e       f
update TableA
set column2 = (
    select column2
    from TableB
    where TableA.column1 = TableB.column1
);

update TableA
set column3 = (
    select column3
    from TableB
    where TableA.column1 = TableB.column1
);

我试图通过使用JOIN来实现,但实际上需要更长的时间......

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用INNER JOIN查询

UPDATE tablea a
INNER JOIN tableb b
ON a.column1 = b.column1
SET b.column2 = a.column2,
    b.column3 = a.column3

如果记录太多,则需要一些时间