如何使用mysql数据库合并表?

时间:2011-06-07 19:32:20

标签: mysql merge

我有两张表,假设表1有两列,短名称和美国全名,另一张表只有短名称。
我想编写一个MySQL查询来更新表2中所有短名称,表1中的全名与表1的短名称相匹配

Table 1                   Table 2        after query I want Table 2

C1   C2                    C6                       C6

NY    New York             NY                       New York

NJ    New Jersey           NJ                       New Jersey

1 个答案:

答案 0 :(得分:1)

假设表2的STATE字段足够宽以支持完整的州名称,并且您希望用长状态名称覆盖短状态名称。在MySQL 5.0上,我认为UPDATE JOIN语句应该更像这样写:

UPDATE Table2 INNER JOIN Table1 on Table2.state=Table1.state 
SET Table2.state=Table1.Full_name  

我认为这个链接有最明确的答案 http://blog.ookamikun.com/2008/03/mysql-update-with-join.html