我有2张桌子.一个来自昨天(300k行),另一个来自今天,具有相同的行数,但数据在某些列中发生了变化.
这两个表有大约120列.
我如何只更新更改.
我尝试过使用删除:
delete from tableA where id in (select id from tableB)
但它太慢了.
也试过了
update tableA inner join tableB on tableA.id=TableB.id
它没有奏效.
您必须在更新查询中设置值才能获得更改.
例:
update tableA inner join tableB on tableA.id=TableB.id set tableA.col1=TableB.col1, tableA.col2=TableB.col2, tableA.col3=TableB.col3;
并且您还可以在where
子句中添加更多条件以使查询在筛选记录上运行.