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

Pat*_*cow 3 mysql select

我有2张休闲桌:

users
zip      state      city
89012    
45869     0
....


zips
zip      state      city
89012    NV         lv
45869    MI         ca
....
Run Code Online (Sandbox Code Playgroud)

我想更新users: state and citystate and city来自zips基础上,zipusers表中的有效方式

cityusers表是空的,但state也可以是0或空

有任何想法吗?

谢谢

Ike*_*ker 8

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

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

update users u
  inner join zips z on z.zip = u.zip
set u.state = z.state,
  u.city = z.city;
Run Code Online (Sandbox Code Playgroud)