我有兩個表希爾的更新MySQL表:需要數以百萬計的行
Cities
Region| City Name
States
ID| State | Region_Key
我需要在城市表做一個更新查詢,像這樣即設置cities.region = statres.id其中狀態.region_key = cities.region
問題是,城市數據庫有超過270萬條記錄,我試圖做這樣的查詢只爲mysql掛起並消失。
update cities c, states c set c.region = s.id where c.region = s.region_key
編輯===================
這是我使用,但它不是工作的SQL我得到一個錯誤說的不正確使用UPDATE和LIMIT
update cities w, states s
set w.region_id = s.id,
w.updated = 1
where w.region = s.w_code and w.updated = 0
LIMIT 10000
分解成批次,可能使用另一列(如日期時間),或者如果不適合引入row_number() – 2011-05-19 06:28:48
您使用別名「c」兩次,對於每個表 – bart 2011-05-19 11:15:47