0

データベース テーブルをエクスポートし、それを完全に別のデータベースに作成された新しい列にインポートする最良の方法を見つけようとしています。

使用されなくなる列もあれば、命名規則が異なる列もあります。

このアプローチには何が推奨されますか? オンラインツールはありますか?

繰り返しますが、新しいデータベーステーブルは同じではありません...基本的に、古い列を新しい列に割り当てることができる必要があります。

4

1 に答える 1

0

ストレージ エンジンを使用FEDERATEDしてリモートの MySQL インスタンスにアクセスし、使用INSERT ... SELECTしてデータをコピーできます。

これが、サーバーがそのようなリンクを確立する必要のない 1 回限りの演習である場合は、データを TSV のような形式にエクスポートし (例:SELECT ... INTO OUTFILEまたはを使用mysqldump)、反対側で再インポートすること (例:LOAD DATA INFILEまたはを使用mysqlimport) が賢明です。解決。

どちらのアプローチでも、プロセスの一部として列名を再割り当て (およびその他の変換を実行) できます。

-- federated table approach
INSERT INTO localtable (colA, colB, colC)
SELECT colX, CONCAT('foo', colY), 100 + colZ FROM remotetable;

-- TSV approach
LOAD DATA INFILE '/path/to/file' INTO TABLE localtable (colA, @colY, @colZ)
SET colB = CONCAT('foo', @colY), colC = 100 + @colZ;
于 2012-09-04T04:26:21.820 に答える