更新集函数中的else语句时的情况

时间:2016-04-12 20:07:01

标签: mysql

我正在尝试编写一些代码来更新我之前在Excel工作表中设置的数据库中的价格。

为此,我需要更新两列中的一列。如果列"覆盖"是1我需要更新列product_override_price,否则我需要更新product_price。

为此,我编写了以下测试代码,但它告诉我我发现了一个无法找到的错误。

UPDATE `product_prices` 

case when `override` ='1' then SET `product_override_price`= '100' else SET `product_price`= '100' end where `product_id`='6'

我将不胜感激。请注意,需要为其他50个product_id复制代码。

1 个答案:

答案 0 :(得分:3)

UPDATE `product_prices` 
SET `product_override_price` = case when `override` ='1' 
                                    then '100'  
                                    else product_override_price
                               end,
    `product_price`= case when `override` <> '1' 
                          then '100'  
                          else product_price
                     end
where `product_id`='6'