テーブルを作成できないエラー: トラブルシューティング「エラー コード: 1005。テーブル '...' を作成できません」
これMySQL のエラーは、テーブルを作成しようとしたときにエラー コード 1005 で示される問題が発生した場合に発生します。具体的な問題外部キーの参照に関連しています。
考えられる原因:
-
キー フィールドの不一致: 主キーのタイプとサイズが一致していることを確認してください。参照テーブル内のフィールドは、外部キー フィールドのフィールドと正確に一致します。サイズの不一致 (INT と BIGINT など) または署名/未署名ステータスを確認します。
-
インデックスまたは非主キー: 存在しない場合は、参照されたキー フィールドにインデックスを作成します。主キーがないか、主キーではありません。
-
外部キーが重複しています名前: 外部キー名がデータベース内で一意であることを確認します。これをテストするには、キー名の末尾にランダムな文字を追加します。
-
非 InnoDB テーブル タイプ: 外部キーの関係では、両方のテーブルが InnoDB タイプである必要があります。 MyISAM テーブルを InnoDB に変換します。
-
NULL 制約の競合: カスケード ON DELETE SET NULL の使用中に、参照されているキー フィールドに NOT NULL 制約がないことを確認します。必要に応じて NULL 値を許可します。
-
文字セット/照合順序の不一致: 両方のテーブルとそのキー列が同じ文字セットと照合設定を使用していることを確認してください。
-
デフォルト外部キーの値: 外部キー列に設定されているデフォルト値を削除します。これは干渉する可能性があります。参照。
-
個別インデックスのない複合キー: 複合キーの一部としてすでにインデックスが作成されている場合でも、複合キーで使用されるキー フィールドごとに個別のインデックスを作成します。
-
間違った構文またはフィールド名の入力ミス: ALTER ステートメントの構文を確認し、チェックしてくださいリレーションシップに関係するフィールド名のタイプミス。
-
外部キー名の長さが制限を超えています: 外部キー名は 64 文字の制限内である必要があります。
詳細と考えられる解決策については、MySQL ドキュメントを参照してください: MySQL エラー番号 1005 を作成できませんテーブル。
以上がMySQL エラー 1005: テーブルを作成できませんが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。