2016-08-11 5 views
0

別の列の値に応じてMySQLの2つの列を更新するにはどうすればよいですか?CASEを使用して他のアトリビュートに応じてmysqlの2つの属性を更新する方法

これは、これまでのところ、私のクエリです:

UPDATE conversation 
SET CASE WHEN user_id = 100 
     THEN user_status='true' 
     WHEN pro_user_id=100 
     THEN pro_user_status='true' 
     ELSE NULL 
    END 
WHERE conv_id=12 

私はPHP progamming言語を使用しています。

+0

正確にあなたの質問は何を? –

+0

'user_status'と' pro_user_status'フィールドのデータ型は何ですか? – 1000111

+0

接続に使用している適切なハンドラでエラーがないかどうかを確認します。これはわかりません。 –

答えて

1

あなたは条件付きでこれだけではない場合、それは前の値に保つ、それが基準を満たしている場合は、列を更新し、更新するために、どの列を決定することはできません。

UPDATE conversation 
SET user_status = CASE WHEN user_id = 100 
         THEN 'true' 
         ELSE user_status 
        END, 
    pro_user_status = CASE WHEN pro_user_id = 100 
          THEN 'true' 
          ELSE pro_user_status 
         END 
WHERE conv_id=12 
+0

に関連しています "肉"と "会う"は皮肉なことに2つの異なる動物です;-) –

+0

:D、正直な間違い.. @ Fred-ii- – sagi

+1

* hehe *それは楽しいでした;-) –

関連する問題