MYSQL - 更新另一个表中的多行

Kat*_*aty 2 mysql insert-update

我有2张桌子.一个来自昨天(300k行),另一个来自今天,具有相同的行数,但数据在某些列中发生了变化.

这两个表有大约120列.

我如何只更新更改.
我尝试过使用删除:

   delete from tableA
   where id in (select id from tableB)
Run Code Online (Sandbox Code Playgroud)

但它太慢了.
也试过了

   update tableA inner join tableB
   on tableA.id=TableB.id
Run Code Online (Sandbox Code Playgroud)

它没有奏效.

在此输入图像描述

Abh*_*hek 9

您必须在更新查询中设置值才能获得更改.

例:

update tableA inner join tableB on tableA.id=TableB.id
set tableA.col1=TableB.col1,
    tableA.col2=TableB.col2,
    tableA.col3=TableB.col3;
Run Code Online (Sandbox Code Playgroud)

并且您还可以在where子句中添加更多条件以使查询在筛选记录上运行.