プロが教えるわが家の防犯対策術!

mysql初心者です。
phpmyadmin で検索と置換のクエリ文の書き方に関して質問させて頂きます、宜しくお願いいたします。

データベース: koneko_nyan
テーブル: wp_postmeta
フィールド:meta_id、post_id、meta_key(varchar(255))、meta_value(longtext)

があります。
フィールドmeta_valueの中の"お魚"という文字列を"焼き魚"に置き換えたい。
ただし、meta_valueフィールド全体ではなくて、meta_keyフィールドに"koubutsu"という文字列が含まれている行のmeta_valueに対してだけ置き換えを実行したいと考えています。

この場合、どのようなクエリを送れば、うまく置換できるのでしょうか?
詳しい方いらっしゃいましたら、ご教示頂きたく存じます。

A 回答 (2件)

>"お魚"という文字列を"焼き魚"に置き換えたい。



これはずばり「お魚」という文字のものをだけを換えればいいのか
たとえば「お魚くん」を「焼き魚くん」のように語句を含むものの
該当部分だけをかえるのかによって処理が異なります。

単純にかえるだけなら
UPDATE wp_postmeta SET meta_value='焼き魚' WHERE meta_value='お魚' AND meta_key LIKE '%koubutsu%';

的な処理になるでしょう

この回答への補足

ありがとうございます!
まさに、「お魚くん」を「焼き魚くん」のように語句を含むものの該当部分だけをかえたいと考えております。
ご教示頂けましたら幸いです!

補足日時:2013/01/29 13:11
    • good
    • 0

>「お魚くん」を「焼き魚くん」



であれば、REPLACEを使うとよいかと

UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,'お魚','焼き魚') WHERE meta_key LIKE '%koubutsu%';

ただし絞り込みを入れた方が効率的かもしれないのでこっちの方がよいかも

UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,'お魚','焼き魚') WHERE meta_value LIKE '%お魚%' AND meta_key LIKE '%koubutsu%';
    • good
    • 0
この回答へのお礼

ありがとうございました!
うまくいきました!

お礼日時:2013/02/06 14:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!