我有2张 table 。一个来自昨天(30 万行),另一个来自今天,行数相同,但某些列中的数据发生了变化。
这两个表大约有 120 列。
我怎样才能只更新更改。
我试过使用 delete :
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
子句中添加更多条件以使查询在过滤记录上运行。关于MYSQL - 从另一个表更新多行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34629011/