2012-01-23 10 views
0

私はmysql変換作業をしています。数日前にそれについて質問しました。ここで私の必要条件を正しく説明しています。2つの異なるデータベース間のスキーマ変換

私は2つのデータベースonedbとtwodbを持っています。どちらのデータベースでも、私はデータと呼ばれるテーブルを持っています。 twodbでは、表データにa、b、c、dという4つのフィールドがあります。また、onedbには、b、a、d、c、e、f、gという7つのフィールドがあります。両方の表には、4つのフィールドa、b、c、dがあります。

これで、onedbテーブルデータの構造に影響を与えずに、twodbテーブルデータのすべての値をonedbテーブルデータに挿入する必要がありました。

はまた、2デシベルのテーブルデータ内のいくつかの100行の周りにあると1デシベル

どのように私はこれを達成できるの表データに行が現在ありません、それを達成するための単純なクエリがあるのか​​、私はいくつかを記述する必要がありますそれを達成するためのPHPコードの一種。

は、テーブルのスキーマを変更することができ

+0

onebdをtowdbのスキーマに変換するには、フィールドe、f&gを削除しないでください。そして、なぜレコードの数は、テーブルのスキーマを変更する方法に関係していますか? –

+0

いいえ、私はそれを言いました。 –

+0

あなたは、それが何であるかを明確にするために、あなたが望むものを達成する一連の行動を列挙することができますか?法的なDB操作であるかどうかは心配しないでください。 –

答えて

1

ありがとう、あなたはALTER TABLEコマンドを使用することができます助けてください。

+0

e、f、gを削除する場合は、テーブル右? –

0

onedbのテーブルデータをtwodbにインポートしますが、名前をonedataに変更します。

使用を(あなたがインポートされているSQLファイルを編集する必要があるかもしれません)onedataする新しいフィールドを追加するテーブルを変更 - 2デシベル

のスキーマからコピーされた後、あなたがうまくいけば、あなたが持っている、データからonedataテーブルを更新する必要がありますかぎ。

ここにプロトタイプ文があります。多くの調整が必要な場合があります

UPDATE data, onedata 
SET data.e=onedata.e, data.f=onedata.f, data.g=onedata.g 
WHERE onedata.mainkey= data.mainkey 

これは、そのキーでテーブルを照合できると仮定しています。

+0

私はちょうど質問を読んだ。明らかに、onedataテーブルは空です。 ALTER TABLE ADD COLUMN ...(マニュアルで調べてください) – dar7yl

+0

構造に影響を与えずにtwodbテーブルのデータにすべての値をonedbテーブルのデータに挿入する必要がありますonedbテーブルデータの –

+0

私は質問 –

0
insert into onedb.data (a, b, c, d) 
select b, a, d, c 
from twodb.data; 

おっと、私はこの回答が既に与えられているのを見ませんでした。

+1

あなたの投稿を削除してもらいたい場合は、いつでも削除することができます – warren

関連する問題