2012-01-23 118 views
3

我有2代表作爲休耕:基於MySQL的另一個表如何更新表?

users 
zip  state  city 
89012  
45869  0 
.... 


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

我想從zips所述state and city以有效的方式基於該zipusers表更新users: state and city

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

什麼想法?

謝謝

回答

8

您是否試圖批量更新所有現有行?

如果是這樣,這裏的做更新的一種方法:

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

應該有一個條件,即'(市<>'和狀態<>「」)或(市<>'和狀態<>「0」)'或像這樣 – Patrioticcow

+0

當然,你可以細化查詢不壞,等根據您的要求更換好的數據。我只是從你在原來的問題給了要求工作。 –

相關問題