MySQLで文字列カラムの一部を置換

運用しているWordPressのサイトのドメインを変更した際に、一部の画像が表示されなくなる問題が発生しました。

それらの画像はImage Pasteというプラグインを利用してクリップボードから投稿に張り付けたものでしたが、どうもドメインを含む絶対パスで画像を指定するため、ドメイン変更後も古いURLのままになっていたことが原因でした。

一つ一つ修正するのは手間がかかるため、データベース上で直接修正できないかと調べたところ、MySQLのREPLACE関数を使うことで、投稿の文字列の一部だけをまとめて変更できることが分かりました。

UPDATE wp_posts SET post_content = REPLACE(post_content, 'old.domain', 'new.domain') WHERE post_content LIKE '%old.domain%'

 

コメントを残す

Required fields are marked *.


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Top