1. 程式人生 > >Mysql 用一個表裡的資料 更新另一個表的資料

Mysql 用一個表裡的資料 更新另一個表的資料

需求情景,一個表裡的字典欄位,另外一個表是記錄,需要拿字典裡的記錄更新記錄裡的某些欄位項,本來想寫儲存過程的,但是看到可以直接update語句就試了一下,效率挺高,直接上sql語句;200萬條記錄1分鐘搞定;
 

UPDATE
voter_bak a,
precinct b 
SET a.countyName=b.countyName,
a.registrationCenterAddress=b.address,
a.registrationCenterName=b.precinctName,
a.electoralDistrict=b.electoralDistrict 
WHERE
a.precinctCode=b.precinctCode 
AND
a.pollingPlace=b.pollingPlace;

Query OK, 2183119 rows affected (1 min 6.20 sec)
Rows matched: 2183119  Changed: 2183119  Warnings: 0

另外附上備份mysql出現提示表lock的問題;

解決辦法:
mysqldump -u dbuser -ppass db --skip-lock-tables > db.sql