今回は、MySQLで特定のカラムの文字列を一括で置換できるSQL文のサンプルを紹介します。
このSQL文が特に必要とされる場面は、ワードプレスのドメイン移管でしょう。
ワードプレスサイトでは、途中でサイトのドメインを変更した場合、データベース内に記載されているドメインも変更後のドメインに合わせないと不具合が起きてしまいますので、必ず必要な作業となります。
ドメイン一括変更のプラグインもあるのですが、プラグインの挙動を正確に把握できない状況で置換処理を実行するのはかなり勇気がいります。
ですから、SQLの知識が多少ある場合には、SQLで1カラムずつ置換して変更を確かめながら行うのが安全かと思います。
一括で文字列を置換するSQL文サンプル
以下が文字列を置換するサンプルです。
update テーブル名 set カラム名=replace(カラム名, "置換対象文字列", "置換後文字列");
置換の単位は1カラムごとですので、カラム数分このSQLを実行する必要があります。
PHPMyAdminなどで、ドメインが記載されているカラムを確認して置換作業を行いましょう。
置換対象のカラム数は知れていますので、それほど時間のかかる作業ではないとは思います。
※文字列置換作業を実施する際は、必ず事前にデータベースのバックアップをとって行うようにしてください。
最後に
データベース内の文字列を置換したい、また、ワードプレスサイトのドメインを変更したい際に参考にして頂けると幸いです。
当社タドワークスでも、ワードプレスサイトの移管作業は代行しておりますので、ご自身で移管するのは不安という方は、お問い合わせよりご相談下さい。