2013-06-15 5 views
18

私はいくつかのdatabeseのことをやっている、私は1つのモデルから別のテーブルをコピーする必要がありますが、私は何も効果がない多くの方法を試してみてください。 これを実行する方法はありますか?どのようにMysqlのワークベンチで2つのモデル間のテーブルをコピーするには?

+0

これを行う方法は必ずしもありません。提供されるすべての回答はハックです。誰かがこれについて開いたバグレポートを持っていますか? –

答えて

17

あなたの最善の選択肢は、おそらく持ち越したいオブジェクトを含むモデルの削除されたバージョンを作成することです。その後、ターゲットモデルを開き、File -> Include Model...を実行します。ストリップされたソースモデルを選択してください。

+1

モデルのストリップされたバージョンを作成する方法は? –

+1

他のモデルでインポートしたくないオブジェクトを削除します。 –

+1

ありがとう、mike! –

14

MySQL Workbenchで単一のテーブルを作成したい場合は、 MySQLのワークベンチで

  1. 接続MySQLサーバ
  2. から
  3. データベースを展開して右
  4. SELECT文を作成します
をクリップボードにテーブルの上に
  • [コピー]を選択します]をクリックします

    テーブルのcreate文はコピーされます以下に似た、あなたのクリップボードにD:

    CREATE TABLE `cache` (
        `cid` varchar(255) NOT NULL DEFAULT '', 
        `data` longblob, 
        `expire` int(11) NOT NULL DEFAULT '0', 
        `created` int(11) NOT NULL DEFAULT '0', 
        `headers` text, 
        `serialized` smallint(6) NOT NULL DEFAULT '0', 
        PRIMARY KEY (`cid`), 
        KEY `expire` (`expire`) 
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
    

    新しいデータベース

    1. オープンで新しいSQL]タブのクエリを実行する([ファイル] - > [新しいクエリ]タブを)テーブルを作成
    2. アルターテーブルを作成するデータベースをインクルードするためのテーブルコードを作成します。

      CREATE TABLE `databaseName`.`cache` (
          `cid` varchar(255) NOT NULL DEFAULT '', 
          `data` longblob, 
          `expire` int(11) NOT NULL DEFAULT '0', 
          `created` int(11) NOT NULL DEFAULT '0', 
          `headers` text, 
          `serialized` smallint(6) NOT NULL DEFAULT '0', 
          PRIMARY KEY (`cid`), 
          KEY `expire` (`expire`) 
      ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    3. 次にMySQLのワークベンチを使用して別のDBからテーブルスキーマをコピーします

    を実行]ボタンをクリックしてください(稲妻のように見えます)。ただ、データベース内のテーブルを更新し、あなたの新しく追加された表が表示されるはずです

  • +0

    これは、テーブルを別のスキーマにコピーしますが、オリジナルのポスターが尋ねたものを別のMODELにコピーしません。 –

    7
      ソースデータベースと
    1. 選択タブ
    2. メニューで
    3. :サーバー - >データエクスポート
    4. 選択スキーマとスキーマ・オブジェクトとして表
    5. 自己完結型のファイルに
    6. 選択オプションのエクスポートとクリップボードに単一のトランザクションで(自己完結型のみ)
    7. コピーファイルのフルパスをダンプを作成して確認してください
    8. エクスポート開始
    9. ターゲットデータベースのあるタブを選択
    10. メニュー:サーバー - >データのインポート。確認してくださいターゲット・データベース名は、データのインポートビュー
    11. セレクトインポートの左上隅にある自己完結型のファイルやクリップボード
    12. 選択デフォルトのターゲット・スキーマ
    13. 選択ダンプ内容(ダンプの構造からの完全なファイルパスを貼り付けからデータ等...)
    14. インポート開始
    3

    私はそれが

    1. コピーされたテーブルを言及する価値があると思います存在しない元のスキーマのテーブルのフィールドを、コピー先のスキーマ内で参照することがあります。これらの不一致を他のスキーマに追加する前に、テーブルを調べることをお勧めします。
    2. エンジンの互換性(InnoDBとMyISAMなど)と文字セットを確認することをお勧めします。
    関連する問題