2014-10-06 36 views
0

說我有一個.yml文件與一些數據看起來像這樣:的MySQL:大規模更新唯一的記錄

- id: 1 
    cool_data: 124 
- id: 2 
    cool_data: 178 
- id: 3 
    cool_data: 101 
... 

考慮到所有的id值表示數據庫中存在的記錄,我怎麼大衆進口信息(可能通過幾個語句),而是針對每個數據點發出UPDATE查詢?

回答

1

你應該能夠結合使用INSERT ... ON DUPLICATE KEY UPDATE語法與VALUES()功能:

INSERT INTO table_name (id, cool_data) 
VALUES 
    (1, 124), 
    (2, 178), 
    (3, 101), 
    ... 
ON DUPLICATE KEY 
UPDATE cool_data = VALUES(cool_data) 

當然,如果該主鍵的值不存在這實際上插入。

+0

不知道這個函數是否存在。萬分感謝! – bschaeffer 2014-10-06 20:44:34