あるサーバーから別のサーバーにmySQLデータベースをエクスポートしています。エクスポートファイルにはすべてのテーブル定義、データ、構造体などが含まれています。すべてのテーブルはInnoDBエンジンとutf8のcharsetを使用します。私は '外部キーチェックを有効にする'を有効にしてインポートしています - エクスポートファイルにも 'SET FOREIGN_KEY_CHECKS = 0;'という行があります。mySQL:データベースをインポートする際の外部キー制約
私はデータをインポートするときしかし、私はエラーを取得「#1215 - 外部キー制約を追加することはできません」
ここでは、入力ファイル内のテーブル定義です:
CREATE TABLE IF NOT EXISTS UserTable (
Index_i int(13) NOT NULL,
UserUUID_vc varchar(36) DEFAULT NULL,
AccountID_i int(13) DEFAULT NULL,
FirstName_vc varchar(30) DEFAULT NULL,
LastName_vc varchar(40) DEFAULT NULL,
Password_vc varchar(255) DEFAULT NULL,
Country_vc varchar(2) DEFAULT NULL,
DateRegistered_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
DateAccountTypeChanged_dt timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
DateAccountStatusChanged_dt timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
DateAcceptedTandC_dt timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=InnoDB AUTO_INCREMENT=165 DEFAULT CHARSET=utf8;
それがこれをヒット問題は、FKのような制約をテーブルに適用するステートメントのいずれかを読み込む前に発生します。実際には、これらの列のいずれかが外部キーであるかどうか、またはエラー・メッセージをトリガーするときにはそうでないかどうかはわかりません。
アイデア?
ようこそ、説明の例を使用してください。 – Gahan