2017-01-10 8 views
1

WHEREを使用してmysqlクエリの条件を基本的に検索して置き換えて、複数のエントリの同じフィールドを更新するために同じテーブルのIDを区別することができます。上記Wordpress DBのWHEREフィールドで複数のエントリを更新する

UPDATE `db_wordpress`.`wp_118_posts` SET `post_type` = 'posttypename' WHERE `wp_posts`.`ID` = 32365; 

単一のエントリを行う方法ですが、どのように私は適用するためにこれを行うだろうと言う:ID、182839、3819819、39892、9279474は同じを持っています。

申し訳ありませんが、私のmysqlは限られています。ありがとう

答えて

0

同時に複数の値を更新しようとしている場合は、WHEREクエリがそれらのすべてをヒットするようにしてください。あなたの場合はおそらくIN句を使いたいと思うでしょう。

UPDATE `db_wordpress`.`wp_118_posts` 
SET 
    `post_type` = 'posttypename' 
WHERE 
    `wp_posts`.`ID` IN (32365,82839, 3819819, 39892, 9279474); 

これは、他のWHERE条件でも機能することができる。これにより、特定の著者に属するすべての投稿が更新されます。

UPDATE `db_wordpress`.`wp_118_posts` 
SET 
    `post_type` = 'posttypename' 
WHERE 
    `wp_posts`.`post_author` = 24; 
+0

は、私はあなたの答えでmysqlコマンドによって推測は段落によって影響されていない、あなたに感謝? – m33bo

+1

@ m33bo改行を意味する場合は、いいえ。 MySQLコマンドは空白には依存しません。 – cwallenpoole

0

IN演算子を使用すると、WHERE句に複数の値を指定できます。

UPDATE `db_wordpress`.`wp_118_posts` SET `post_type` = 'posttypename' WHERE `wp_posts`.`ID` IN (182839, 3819819, 39892, 9279474); 
関連する問題