MySQL 外部キー制約の問題の解決
MySQL で外部キー関係を作成すると、次のようなイライラするエラーが発生することがあります。
<code>ERROR 1215 (HY000): Cannot add foreign key constraint</code>
このメッセージは、テーブル間の外部キー リンクの確立に問題があることを示します。 一般的な原因と解決策を見てみましょう。
データ型の不一致:
子列と親列のデータ型が同じであることを確認します。 たとえば、親列が INT
の場合、対応する子列も INT
である必要があります。 不一致があると、制約を追加できなくなります。
テーブル作成シーケンス:
ベスト プラクティスでは、子テーブルの前に親テーブルを作成することが求められますが、この制限を一時的に回避することもできます。 テーブルを作成する前に次のコマンドを使用します:
<code>SET FOREIGN_KEY_CHECKS=0;</code>
これにより、外部キーのチェックが無効になり、柔軟なテーブル作成順序が有効になります。後で SET FOREIGN_KEY_CHECKS=1;
<code>SHOW ENGINE INNODB STATUS;</code> の問題の特定:
エラーを正確に特定するには、次のコマンドを実行します。
<code>SHOW ENGINE INNODB STATUS;</code>
失敗した制約の詳細については、LATEST FOREIGN KEY ERROR
セクションを調べてください。 これにより、対象を絞ったトラブルシューティングに重要な情報が得られます。
以上がMySQL で「外部キー制約を追加できません」エラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。