将多个sql更新语句合并为一个

时间:2018-08-16 04:27:26

标签: mysql sql

我有以下三个更新语句:

UPDATE mx m JOIN main_territorypricingavail a USING (tp_id) 
SET sd_price = a.price WHERE a.code = 'SDBUY';

UPDATE mx m JOIN main_territorypricingavail a USING (tp_id) 
SET hd_price = a.price WHERE a.code = 'HDBUY';

UPDATE mx m JOIN main_territorypricingavail a USING (tp_id) 
SET uhd_price = a.price WHERE a.code = 'UHDBUY';

是否可以将这三个语句合并为一个语句?

1 个答案:

答案 0 :(得分:4)

您可以在此处使用ref表达式来进行一次更新:

createAnimatedComponent

从性能的角度来看,如果MySQL注意到值不会更改,则不会将其覆盖到更新的列/记录中。因此,对于以上经常发生的CASE条件的惩罚可能并没有看起来那么糟糕(see here了解更多信息)。