用MySQL中的另一个表更新表

时间:2013-11-05 16:19:35

标签: mysql sql sql-update

我有两个表main_tablenew_data,我想通过main_table表中的数据更新new_data,因为您可以看到时间列中有几个空位在main_table。它应该由来自new_data表的数据填写。第三个表是结果。对此最好的解决方案是什么?

main_table
---------------------
id | name     | time
---------------------
 1 | tom      | 60
 2 | daniel   | 30
 3 | monica   | 42
 4 | gabriela | 
 5 | rachel   |
 6 | michael  | 15
 7 | adriana  | 
---------------------

new_data
--------------------
id | name     | time
--------------------
 1 | gabriela | 22
 2 | rachel   | 15
 3 | adriana  | 17
--------------------


main_table - updated by new_data - it should be result
---------------------
id | name     | time
---------------------
 1 | tom      | 60
 2 | daniel   | 30
 3 | monica   | 42
 4 | gabriela | 22
 5 | rachel   | 15
 6 | michael  | 15
 7 | adriana  | 17
---------------------

1 个答案:

答案 0 :(得分:2)

UPDATE new_data t1, JOIN main_table t2
SET t2.Time=t1.Time
WHERE t2.name=t1.name