2009-06-18 8 views
0

私は後で関係を復元できるように、2つの別々のテーブル(CATEGORYとSUBCATEGORIES、SUBCATEGORIESがCATEGORYに属する)からデータをバックアップする方法を知りたいと思います。 mysqldump --opt db_nameであれば分かりません。mysqlバックアップの関係を維持する

例:

カテゴリー:

| ID | name 
----------- 
| 1 | Audio 
| 9 | Video 

サブカテゴリー:

| ID | category_id | name 
------------------------- 
| 1 | 1   | Guitar 
| 2 | 1   | Piano 
| 3 | 9   | Video Camera 

おかげ

+0

通常のテーブルデータで表され、まったく別のものとしてダンプされます。より複雑な関連シナリオは、データをエクスポートして、同じstrcutureの別のdbとマージする必要がある場合です。 e。あなたはIDを保持することができませんでした。次に、UUIDを使用するか(効率のためにプレーンintにマップするか)、カスタムプログラムを作成する必要があります。 –

答えて

1

のmysqldumpデフォルトでは、テーブルを作成するコマンドを追加し、それが関係を保存します。

4

mysqldumpをは、それはあなたのデータベースを再構築するために必要なSQLコードを生成しますとの関係は特別なデータ(ちょうど論理偶然テーブル間の)ではないとして、それがデータベースのバックアップに十分だ

十分です。 --opt paramなしでmysqldumpを使用しても、インデックス定義が追加されるので、制約は残ります。

関連する問題