drop table t2;create table t1(id int primary key,nickname varchar(20),playNum varchar(20));create table t2(id int primary key,nickname varchar(20),playNum varchar(20));insert into t1 values(1,1,10);insert into t1 values(2,2,20);insert into t1 values(3,3,30);insert into t2 values(1,11,100);insert into t2 values(2,22,200);insert into t2 values(3,33,300);commit;Oracle有两种方式: 内联视图更新
update (
select t1.id t1id ,t1.nickname t1nickname,t1.playNum t1playnum,t2.id t2id ,t2.nickname t2nickname,t2.playNum t2playnum from t1 inner join t2 on (t1.id=t2.id))set t1nickname=t2nickname,t1playnum=t2playnum; 相关子查询
update t1 set (nickname,playNum)=
(select nickname,playNum from t2 where t1.id=t2.id);MySQL只有下面的这一种方式 不过可以同时修改两个表的数据. 用t2的playNum更新t1,用t1的nickname更新t2update t1,t2