- PR -

MySQLで外部キーが設定されている場合のバックアップ&リストア方法

1
投稿者投稿内容
koji
大ベテラン
会議室デビュー日: 2002/12/25
投稿数: 100
投稿日時: 2004-12-21 10:27
こんにちは。
Windows 2000 + MySQL4.0.18でアプリケーションを作成しています。

mysqldumpでバックアップをとりました。
$ mysqldump -d データベース名 > 出力先ファイル

で、以下のようにデータを取り込もうとしたら、外部キーの整合性エラーが出て
リストアできません。
mysql> drop database データベース名;
mysql> create database データベース名;
$ mysql データベース名 < ファイル名 ←ここで(erono: 150)が発生します。
150 = Foreign key constraint is incorrectly formed

ダンプしたファイルを見たら、外部キーが設定出来ない順番でcreate table文
が並んでいるので、エラーが出るのも当然だと思うのですが、いちいち並べ替え
るのも面倒です(tableがたくさんあるため)。

外部キーが設定されている場合のバックアップ方法、リストア方法は指定等ある
のでしょうか?
koji
大ベテラン
会議室デビュー日: 2002/12/25
投稿数: 100
投稿日時: 2004-12-21 16:56
以下にmysqldumpでは、外部キー制約を取得できないような事が書いてあり
ました。
http://dev.mysql.com/doc/mysql/ja/ANSI_diff_Foreign_Keys.html
と言う事で、無理っぽいです。他のツール等で出来るかもしれませんが。

以前、ここの掲示板で読んだのですが、実運営で外部キーを設定する事は
ほとんど無い、って意見が多々あったような気がします(うろ覚えですが)。
外部キーを設定する事は、あまり一般的では無いのかもしれませんね。
1

スキルアップ/キャリアアップ(JOB@IT)