2012-01-12 9 views
2

私はInnoDBエンジンを使用してSQLダンプをインポートすると、私のようないくつかの問題を抱えている: インポートSQLダンプ

 
#1005 - Can't create table '.\db_name\table_name.frm' (errno: 121) . 

それはデフォルトのエンジンを使用しています

は、それが正常に実行されます。

どうすればこの問題を解決できますか?


すべてのいただきありがとうございますが、任意の重複/無効な外部キーが存在しない、また、私は「1」に のSET FOREIGN_KEY_CHECKS =「0」の変化を持っています。 しかし、誰微結果 ここphpMyAdminの

Error 

SQL query: 

CREATE TABLE `mb_comment` (
`content` text COLLATE utf8_unicode_ci, 
`post_id` int(11) default NULL , 
`user_id` varchar(30) COLLATE utf8_unicode_ci default NULL , 
`id` int(11) NOT NULL AUTO_INCREMENT , 
PRIMARY KEY (`id`) , 
KEY `FK_comment` (`post_id`) , 
KEY `FK_comment2` (`user_id`) , 
CONSTRAINT `FK_comment2` FOREIGN KEY (`post_id`) REFERENCES `mb_post` (`id`) ON DELETE CASCADE ON UPDATE CASCADE , 
CONSTRAINT `FK_comment` FOREIGN KEY (`user_id`) REFERENCES `mb_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE 
) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci; 

MySQL said: Documentation 
#1005 - Can't create table '.\myblog_db\mb_comment.frm' (errno: 121) 

答えて

2

の私のエラーコードは無効な外部キー制約、例えばのような音存在しないレコードまたはテーブルへの参照。

行うための最善のことは、あなたは、スキーマ/テーブルの完全なダンプをインポートし、あなたはまた、外部キー制約のチェックを無効にすることで、インポートを試みることができることを確認している。

SET foreign_key_checks = 0; 

# IMPORT CODE GOES HERE 

SET foreign_key_checks = 1; 

デフォルトのエンジンはMyISAMテーブルの場合外部キーはサポートされていないため無視されます。

0

これは外部キーの名前が重複しているためだと思います。他のエンジンの場合、innodbには外部キーの参照整合性チェックがありません。

関連する問題