質問

テストコードの場合、SQLyogの「Copy to Different Host」オプションを使用して、ライブデータベースからテストデータベースにデータをコピーします。ほとんどの場合、これは大丈夫です。ただし、一部のテーブルでは、データセットは絶対に巨大であり、テスト用のデータの比較的小さなサブセットだけが必要です。別のホストダイアログへのコピーは、構造のみまたは構造とデータをコピーするオプションを提供します。

部分的なデータのみが必要な場合は、実行する必要があります select * on table where condition クエリ、結果をSQLクエリとしてエクスポートし、そのクエリをテストホストにインポートして実行します。これは機能しますが、特にテストデータの「小さな」サブセットでさえも多くの行である状況を考えると、それはまったく楽しい手順ではありません。一部のデータがすでにコピーされている場合、それはさらに合併症を追加します。ターゲットにキーのリストを取得してから追加するためにクエリを書く必要があるため、 where key not in (key list) 主な状態に条件。

ターゲットデータベースに行のみを選択的にコピーするために、「別のホストにコピー」機能を取得する方法はありますか?

役に立ちましたか?

解決

現在、個々の行の条件を使用することは不可能です sqlyog ツールをコピーします。コピー用に1つのテーブルのみが選択されている限り、それは問題ありませんが、より多くのテーブルがあれば意味がありません。

今できることは、ソースに小さな「ダミー」テーブルを作成し、これをコピーすることです。ワークフローは次のようなものかもしれません:

1)テーブルを作成します newtable select * from oldtable どこ ...

2)コピーします newtable 必要に応じてsqlyog guiを使用して、次にソースにドロップします

3)名前を変更します newtable 必要に応じてターゲットに

これにより、ネットワークトラフィックが削減され、転送する行のみを考慮します。また、「削減」がソースサーバー内に保持されるため、ファイルへのエクスポートを避けます(ファイルシステムまたはネットワークは含まれません)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top