方法一 :case...when...then...end
MySQL實現一條sql完成多條數據的更新
UPDATE categories SET
display_order = CASE id
WHEN 1 THEN 3
WHEN 2 THEN 4
WHEN 3 THEN 5
END,
title = CASE id
WHEN 1 THEN 'New Title 1'
WHEN 2 THEN 'New Title 2'
WHEN 3 THEN 'New Title 3'
END
WHERE id IN (1,2,3)
方法二: ON DUPLICATE KEY UPDATE用法(需要利用主鍵索引或唯一索引衝突,來決定是插入還是更新)
mysql實現upsert
insert into yundou_management.statistic_customer(customer_id,current_period,period_number,client_upload_bill,update_time) values
(1,201604,100,100,1540470512),
(314,201604,100,100,1540470512),
(315,201604,100,100,1540470512),
(316,201611,100,100,1540470512)
ON DUPLICATE KEY UPDATE
customer_id=values(customer_id),
current_period=values(current_period),
period_number=values(period_number),
client_upload_bill=values(client_upload_bill),
update_time=values(update_time)