我有以下三个更新声明:
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条答案
按热度按时间1l5u6lss1#
你可以用
CASE
要在一次更新中完成此操作,请执行以下操作:从性能的Angular 来看,如果mysql注意到某个值不会改变,它就不会在更新中覆盖某个列/记录的值。因此,对
ELSE
上面经常发生的情况可能并不像看上去那么糟糕(更多信息请参见此处)。