如何使用另一个表中的数据更新多个表字段?

时间:2015-08-09 00:42:01

标签: mysql

我有一张表users_grade

     +-----------------------------------------------------------+
     |id |    name     |  grade_1   |   grade_2   |   grade_3    |
     | 1 |    John     |      A     |       A     |       B      |
     | 2 |    Paul     |      B     |       A     |       A      |
     | 3 |   George    |      B     |       A     |       A      |   
     | 4 |  Richard    |      A     |       B     |       A      |
     +-----------------------------------------------------------+

现在我必须使用table.grades中的旧数据更新users.grade表:

    table.grades

    +------------------------------------------------------+
    |ID |user_id  | grade_1   |   grade_2   |   grade_3    |
    |67 |     1   |      A    |       A     |       B      |
    |68 |     2   |      B    |       A     |       A      |
    +------------------------------------------------------+

如何更新我的表users_grade转储table.grades数据?我有超过10K的用户。

1 个答案:

答案 0 :(得分:0)

这是基本的mysql join update。

update user_grade u inner join table.grades g
    on u.id = g.user_id
    set
    u.grade_1 = g.grade_1, 
    u.grade_2 = g.grade_2, 
    u.grade_3 = g.grade_3

https://dev.mysql.com/doc/refman/5.0/en/update.html