2017-07-10 13 views
0

私は正常に移行されたウェブサイトを持っていますが、依然としていくつかのURLは以前のアドレスを指しています。私は、次のコマンドを使用して、私のdatabse(phpMyAdminのを)更新:データベース(すべてのテーブル)でURLを検索します

UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurl', 'http://www.newurl') WHERE option_name = 'home' OR option_name = 'siteurl'; 

UPDATE wp_posts SET guid = replace(guid, 'http://www.oldurl','http://www.newurl'); 

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl', 'http://www.newurl'); 

UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.oldurl','http://www.newurl'); 

私は古いアドレスを参照するためのすべてのテーブルを検索することができますどのように?ありがとう

+0

それを更新しますが、ここを見て持っていました?同様の問題だがTSQL https://stackoverflow.com/questions/709120/how-to-search-for-one-value-in-any-column-of-any-table-inside-one-ms-sql-databas –

+0

@ EstebanP。はい、この解決法は私には意味がありません。私は単純なコマンドを呼んでいましたが、この例ではSQLプロンプト –

+0

@ humhamに入れています。テーブルのすべての名前を動的に(テーブルのデータベースのマスターリストから取得しています)可能な(テキスト)列すべてを検索するためにループします。動的SQLを使用しない唯一の選択肢は、すべての可能なクエリーを自分で書き出してから実行することです。 MySQLでは、動的SQLはPrepared Statementsを使用して達成されます。 – ADyson

答えて

-3

SQL Serverを使用していますか?そこにあなたが試みることができる:それはあなたがathereテーブル/カラムが古いURLである見ることができる選択の束を与える

select 'select '+c.name +' from '+ t.name +' where ' +c.name + ' like ''%wwww.oldurl%''' 
from sys.tables t 
    join sys.all_columns c 
    on c.object_id=t.object_id 

...そして

+1

「phpmyadmin」というタグと「phpmyadmin」というタグは、示唆しません。 – DaveyDaveDave

関連する問題