基本的に、MySQL に joomla データベースがあり、接頭辞「jmla_」を持つテーブルがたくさんあります。「jmla_」プレフィックスを「jos_」プレフィックスに置き換えて、これらすべてのテーブルの名前を変更したいと思います。単純な SQL スクリプトまたは SQL クエリでこれを行う方法についてのアイデアはありますか?
質問する
7424 次
5 に答える
10
SELECT concat ('rename table ',table_name,' to ',table_name,'_old;')
FROM information_schema.tables
WHERE table_name like 'webform%'
and table_schema='weiss_db_new'
動作します。
于 2012-07-16T10:54:51.010 に答える
8
次のステートメントを実行します。
SELECT 'rename table '||table_name||' to '||'jos'||substr(table_name,5)||';'
FROM information_schema.tables
WHERE table_name like 'jmla%'
これにより、すべてのテーブルの名前を変更するスクリプトが作成されます。出力を SQL クライアントにコピー & ペーストするだけです。
||
( ANSI モードで実行していない場合は、MySQL の非標準の連結演算子に変更する必要があります)
于 2012-04-08T22:47:31.360 に答える
3
RENAME TABLE jmla_whatever to jos_whatever;
すべてのテーブルをカバーするスクリプトを作成する必要があります。スクリプトにshow tables
. 詳細については、 http://dev.mysql.com/doc/refman/5.0/en/rename-table.htmlを参照してください。
于 2012-04-08T21:51:57.823 に答える
2
- phpmyadmin を使用して .sql ファイルにエクスポートする
- ファイルを開くには、「検索と置換」機能を備えた任意のテキストエディターを使用します(私はvimを好み、大きなファイルでうまく機能します)
- 「検索と置換」を実行し、実際のプレフィックスを検索ボックスに入れ、置換ボックスで更新します
- phpmyadmin を使用してファイルをインポートします。
phpmyadmin でインポートする前に、古いデータベースを削除することを忘れないでください。これは、エクスポート中に適切なオプションをチェックして行うことができます。
于 2012-04-08T21:49:10.943 に答える