方法一 :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)