ホームページ > データベース > mysql チュートリアル > MySQL で「外部キー制約を追加できません」エラーが表示されるのはなぜですか?

MySQL で「外部キー制約を追加できません」エラーが表示されるのはなぜですか?

Susan Sarandon
リリース: 2025-01-18 20:26:13
オリジナル
687 人が閲覧しました

Why is MySQL Giving Me a

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート