ブログのエントリーの内容をSQL文で一括置換、MovableTypeの際にはちょっと注意

記事内にプロモーションを含む場合があります。

PhpMyAdmin SQL ikkatsuchikan

phpMyAdminから以下のSQL文を実行することで、データベーステーブルにある文字列を一括置換することができます。文字列を置き換えるだけなら、ブログの管理画面からチマチマ変更せずにこちらを使います。

UPDATE テーブル名 SET セル名=REPLACE(セル名,"変更する文字列","置き換える文字列");

Movable Typeのエントリーを一括置換する場合は、エントリーテキストのセルを指定して置き換えたい文字列などを入力して実行します。

注意点としては、エントリーの前半と追記部分は別のセルになるので、2回置換を行う必要があります。

エントリーテキスト前半

UPDATE mt_entry SET entry_text=REPLACE(entry_text, "変更する文字列", "置き換える文字列") WHERE entry_text IS NOT NULL;

エントリーテキスト追記部分

UPDATE mt_entry SET entry_text_more=REPLACE(entry_text_more, "変更する文字列", "置き換える文字列") WHERE entry_text IS NOT NULL;

HTMLタグなどで「」を含む文字列を一括置換する場合は、「\」を入れないとエラーが出ます。

例:エントリー追記部分の画像URLをhttpsにする

UPDATE mt_entry SET entry_text_more=REPLACE(entry_text_more, "<img src=\"http://", "<img src=\"https://") WHERE entry_text IS NOT NULL

参考: QWERTY.WORK