ねこじゃすり
猫を魅了する魔法の装備品!
Anker PowerCor
旅行には必須の大容量モバイルバッテリー!
ペヤング ソースやきそば 120g×18個
とりあえず保存食として買っておけば間違いなし!
レッドブル エナジードリンク 250ml×24本
翼を授けよう!
モンスターエナジー 355ml×24本 [エナジードリンク]
脳を活性化させるにはこれ!
Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK
メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!
BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール
もう一人の僕を呼び覚ませ!!
スポンサーリンク
記事内の特定の文字列を一括置換したい
WordPressを運用していて、サーバーを変えたりドメインを変えた場合、投稿記事内に古いURLを直接記述してしまっていると、移行後にエラーが表示されてしまう可能性があります。
全ての記事の中身を確認して、手作業でURL等を直していくのはとても無理があります。(記事数が100件を超えると地獄を見ます。。。orz)
魔法のようなSQL関数
そんな時は、SQLを使ってコマンド一発で全て置換しちゃいましょう!
MySQLには様々な便利な関数が用意されています。
今回は、その中のREPLACE関数を使用します。
REPLACE関数とは、対象のデータ内の特定の文字列を別の文字列に置換することが可能な関数です。
今回はLIKE句と合わせて利用して、変換対象の文字列を含んだデータを検索し、REPLACE関数で置換して、UPDATE文で更新する、という作業を行ってみましょう。
手順
前提
- PHPMyAdminインストール済み
- データベースバックアップ済み
※データベースのデータをSQLを変えるのは、危険を伴うのでデータベースのバックアップを必ず行ってください。
また、作業をする場合は自己責任でお願いします。
SQLを用意
まずは、以下のような置換前と置換後の文字列を指定したSQLを用意してください。
1 |
UPDATE `wp_posts` SET post_content=REPLACE(post_content, "{置換前}", "{置換後}") where post_content like "%{置換前}%"; |
PHPMyAdminで実行
次に、PHPMyAdminにログインし、対象のデータベースを選択し、SQLタブを開き、SQLを貼り付けて、実行ボタンをクリックします。
実行後、以下のように表示されれば一括置換が完了です。
終わりに
上記のように、手作業でやると果てしない時間がかかるものも、便利な機能や関数を知っていれば一瞬で作業を終えることが出来ます。
思い立ったらいきなり手を動かすより、まずは便利な方法がないか?と、調べる癖を付けると良いでしょう♪