• ベストアンサー

MysqlのREPLACEについて教えてください。

update `dtb_products` SET `main_comment` =REPLACE(main_comment ,"http://user_data","/user_data") と言うクエリを実行したところ、対象が0件となるのですが、 何か使い方間違ってますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

見た感じ問題なさそうです。 格納されたデータがおかしいのでは? create table dtb_products(id int,main_comment varchar(100)); insert into dtb_products values(1,'http://user_data/hoge'),(2,'http://user_dataxxxx'),(3,'http://user/hoge'); update dtb_products SET main_comment=REPLACE(main_comment ,'http://user_data','/user_data'); こうすると2件変換されます

kyabe2_0751
質問者

お礼

ありがとうございます。実は、 phpMyAdminから操作して出来なかったのでこちらにPOSTさせて頂きました。 回答を頂き、もしかしてphpMyAdminのみの問題か?と思い、 コンソールからテストして見ると無事にREPLACEしてくれました。 何故か?と思いもう一度phpMyAdminでテストして見ましたが、今度は正常に出来ました。 原因不明ですが、REPLACEの使い方が検証出来たので勉強になりました。 お手数かけてスミマセンでした。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

なんかリンクになって表示が変なのでもう一度 create table dtb_products(id int,main_comment varchar(100)); insert into dtb_products values(1,'ttp://user_data/hoge'),(2,'ttp://user_dataxxxx'),(3,'ttp://user/hoge'); update dtb_products SET main_comment=REPLACE(main_comment ,'ttp://user_data','/user_data');

関連するQ&A