2011-09-16 2 views
1

MySQLを使用して1つのテーブルで複数の行を更新しようとしています。私はこれが可能であることを発見したが、私は、しかし、実際には3MySQLが値を増やすために複数の行を更新できない

$increment = 1; 
('UPDATE articles 
SET comments = CASE 
WHEN article_id in(1, 2) THEN comments + ' . $increment . ' 
END'); 

任意のアイデアで、それを1だけインクリメントし、それをインクリメントしようとすると、所定量のコメント欄の値をインクリメントしようとしていますか? おかげで、 マット

+1

明らかに更新文は二回 – Johan

答えて

0

はこれを試してみてください:

$query = "UPDATE articles SET comments = comments + " . $increment . " WHERE article_id IN (1, 2)"; 
+0

感謝を実行しているが、これは同じ結果を持っている、しかし、それだけで起こるようです。 – Matt

+0

クエリを実行する前の値を確認しましたか?または、スクリプトを複数回呼び出すなど...? –

+1

私は砂の中に私の頭を埋めるためにオフです!私はスクリプトを複数回呼びました!明らかに私が実現するにはあまりにも論理的です!しかし、助けてくれてありがとう! – Matt

2

あなたの現在のクエリが動作していない理由を私は実際に見ることはできませんが、このクエリを使用するときに何が起こりますか?それが変化している初期値が0(ゼロ)のとき

UDPATE 
    articles 
SET 
    comments=comments+'.$increment.' 
WHERE 
    article_id IN (1,2) 
関連する問題