2011-01-04 44 views
1

私はいくつかの複雑なテーブル構造を持つ2つのMySQLデータベースを持っていると言います。いずれのデータベースも同じテーブル名を持ちません。これらのテーブルには行が含まれていないと言います(テーブルを切り捨てることもできますが、データは重要ではありません)。これら2つのデータベースを1つに統合する必要があると言います。例えば:2つのMySQLデータベースを1つにマージすることは可能ですか?

DB1:

都市 状態

DB2:

インデックス サブインデックス 投稿

私が含まれ、単一のDBで終わるしたい:

都市 州 インデックス サブインデックス 投稿

これは可能ですか?

答えて

2

RENAME TABLEは、いずれかのデータベースのすべてのテーブルで使用できます。

参照:http://dev.mysql.com/doc/refman/5.0/en/rename-table.html

RENAME TABLE current_db.tbl_name TO other_db.tbl_name; 

提供重複しません。

+0

私はこれを今試してみます... –

+0

ありがとう!私は割り当てられた時間に達した時に答えをマークする –

0

使用しているストレージエンジンはどれですか?

myISAMを使用している場合、テーブル(* .frm、* .myd、* .myi)を表す3つのファイルを1つのDBディレクトリ(mysql/data/db1)から別のDBディレクトリデータ/ DB2)?

0

mySQL管理者またはphpmyadminを使用している場合、これはかなり簡単です。

データベースをオフラインにして(変更を行わないため)、多くのエクスポートオプションの1つを使用してデータベースをスクリプトアウトし、データ、スキーマ、およびその他のプロパティをスクリプトで作成します(DATABASE CREATE文はスクリプトにしないでください)。

2番目のデータベースでスクリプトを実行します。

注:このオプションは、両方のデータベースにスキーマが重複していないことを100%確信している場合にのみ実行する必要があります。

0

はい、可能です。 2つのテーブルをSQLスクリプトにエクスポートし、1つのテーブル名を別のテーブル名に置き換えるだけです。スクリプトを追加して一度に実行してください

関連する問題