mysql更新另一个字段的条件

时间:2016-05-04 16:00:10

标签: php mysql sql

我有一个属性表,它从XML feed常规更新。如果属性不在数据库中,则插入;如果它在那里它更新它。但是,用户也可以通过网站后端的表单更新字段。如果用户更新字段,则会将其标记并将状态更改为1.

我的表格如下:

heading    | nice house  
up_heading |    1  
price      |  40000  
up_price   |    0  

在这种情况下,当每日cron作业运行更新时,它不会更新标题,因为up_heading的状态为1,但它会将价格更新为{{1是0。

所以我的问题是,如何编写有效的更新查询,如:

up_price

依此类推update property set heading = $heading case up_heading = 0, set price = $price case up_price = 0,

1 个答案:

答案 0 :(得分:1)

update property set
    heading = case when up_heading = 0 then $heading else heading end,
    price   = case when up_price   = 0 then $price   else price end
    -- and so on
where p_id = %p_id

Documentation