WordPressで後からデータベースの接頭辞($table_prefix)を変更

運営していたWordPressデータを、後からtable_prefixを変えたいときがある。

例えばサーバの引っ越しで、今まで別のアカウントで置いていたものを同じデータベースに置かなきゃいけなくなったときとかに、今まで『wp_』だったのを『wp_2_』に変えなきゃいけないとか、そういった場合に必要になる。
その場合の変更方法。

前記したように、下記として仮定。

  • 旧$table_prefix『wp_』
  • 新$table_prefix『wp_2_』

wp-config.phpの書き換え

$table_prefix  = 'wp_';

を下記に変更

$table_prefix  = 'wp_2_';

テーブル名の変更

旧サーバをもう使わないなら旧サーバで、使うならローカルにコピーしてから、変更する方が無難。
phpMyAdminの5.7以上なら『接頭辞を付け替えてテーブルをコピーする』というステキな機能がある。

ただ、自分、SQLiteなんで…
ひたすらwp_XXXをwp_2_XXXにコツコツしていくしかない。
きっといいSQLがあると思うのだけど…

テーブル内容の変更

SELECT * FROM 'wp_2_usermeta' WHERE meta_key like 'wp_%';
SELECT * FROM 'wp_2_options' WHERE option_name LIKE  'wp_%'

これで出てきた『wp_』になっている部分を『wp_2_』にすればOK。
そう、値ではなくて、キーの方。驚く。

補足

実は結構前からやってることなので、バージョンでいうと2.7から同対応で対応可能なのは確認済み。
書こう書こうと思ってて、書かずに数年経ってた…

コメント

タイトルとURLをコピーしました