MySQL エラー 150: 外部キーの不一致を修正する方法?

DDD
リリース: 2024-11-26 16:01:17
オリジナル
367 人が閲覧しました

How to Fix MySQL Error 150: Foreign Key Mismatch?

MySQL エラー 150: 外部キーの不一致のトラブルシューティング

MySQL で外部キー制約を作成しようとすると、問題が発生する可能性があります。このようなエラーの 1 つはエラー 150 で、外部キー定義と参照されるテーブルの間に不一致がある場合に発生します。

エラーの説明

エラー メッセージ:

ERROR 1005 (HY000): Can't create table './test/bar.frm' (errno: 150)
ログイン後にコピー

考えられる原因

外部キーに関する MySQL ドキュメントに記載されているとおり制約があるため、外部キー参照では特定のルールに厳密に従う必要があります。重要な要件の 1 つは、参照テーブルと参照テーブルの両方が InnoDB テーブルである必要があることです。

Both tables must be InnoDB tables and they must not be TEMPORARY tables.
ログイン後にコピー

解決策

このエラーを解決するには、参照テーブル (バー) と参照テーブルの両方が InnoDB テーブルであることを確認してください。参照テーブル (foo) は InnoDB テーブルとして定義されます。そうでない場合は、InnoDB エンジンを使用するように変更します。

ALTER TABLE bar ENGINE=InnoDB;
ALTER TABLE foo ENGINE=InnoDB;
ログイン後にコピー

この変更を行った後、2 つのテーブル間の外部キー制約を再作成してみます。問題が解決しない場合は、MySQL ドキュメントを再度参照するか、関連フォーラムまたは MySQL 専門家に支援を求めてください。

以上がMySQL エラー 150: 外部キーの不一致を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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