首页 > 技术文章 > mysql用一个表更新另一个表

emanlee 2015-01-18 17:16 原文

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

推荐阅读