mysql用一个表更新另一个表

Solution 1:  修改1列

update student s, city c
   set s.city_name = c.name
 where s.city_code = c.code;

Solution 2:  修改多个列

update  a,  b 

set a.title=b.title, a.name=b.name
where a.id=b.id

Solution 3: 采用子查询

update student s set city_name = (select name from city where code = s.city_code);

REF:

http://dba.stackexchange.com/questions/119621/how-to-update-10-million-rows-in-mysql-single-table-as-fast-as-possible

http://stackoverflow.com/questions/6393763/fast-cross-table-update-with-mysql

http://stackoverflow.com/questions/11709043/mysql-update-column-with-value-from-another-table

原文地址:https://www.cnblogs.com/emanlee/p/4231976.html