2016-05-04 8 views
1

私は、XMLフィード管理規則から更新するプロパティテーブルを持っています。プロパティがデータベースにない場合は、それが挿入されます。それがあればそれを更新します。しかし、ユーザーはウェブサイトのバックエンドのフォームを使用してフィールドを更新することもできます。ユーザーがフィールドに、旗それをを更新し、1別のフィールドの状態でのmysqlの更新

私のテーブルにステータスを変更した場合、次のようになります。この場合

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

毎日cronジョブが更新を実行するとき、それはしませんup_headingのステータスが1であると見出しを更新しますが、up_priceのステータスは0

であるとして、それは私の質問は、私のような効率的な更新クエリ書くことができるか、である価格を更新します。

update property 
set heading = $heading 
case up_heading = 0, set price = $price 
case up_price = 0, 

などwhere p_id = %p_idまで?

+0

これは、あなたが探しているものです:私はどうなるのかhttp://stackoverflow.com/questions/17265522/conditional-update-in-mysql – dchayka

+1

のcronでPHPを使用していますジョブスクリプトを使用してフィールドを解析し、必要なデータを設定した後、WHERE句を指定した簡単なUPDATE sql文を実行し、クエリの条件を回避します。 – dchayka

+0

'set heading = $ heading' <これは実際のコードの一部であるはずですが、コンマbtwがありません。他\t \t \t \t \t \t \t \t \t {$ = "" \tをupdate_p_advert_heading; {$ update_p_advert_heading = "p_advert_heading = '$のp_advert_heading'、"}($ up_p_advert_heading == 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

関連する問題