如何根据mysql中的另一个表更新表?

时间:2012-01-23 19:11:18

标签: mysql select

我有2张休闲桌:

users
zip      state      city
89012    
45869     0
....


zips
zip      state      city
89012    NV         lv
45869    MI         ca
....

我希望users: state and city使用state and city zips基于zip的{​​{1}}以有效的方式更新<{1}}

users表中的city为空,但users也可以是state或空

任何想法?

感谢

1 个答案:

答案 0 :(得分:8)

您是否尝试批量更新所有现有行?

如果是这样,这是进行更新的一种方法:

update users u
  inner join zips z on z.zip = u.zip
set u.state = z.state,
  u.city = z.city;