「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > MySQL エラー 150 および 1005: 外部キー関係を作成できないのはなぜですか?

MySQL エラー 150 および 1005: 外部キー関係を作成できないのはなぜですか?

2024 年 12 月 21 日に公開
ブラウズ:478

MySQL Error 150 & 1005: Why Can\'t I Create Foreign Key Relationships?

MySql 外部キー エラー 150: 不可解な謎

外部キー関係を持つ "foo" テーブルと "bar" テーブルを作成しようとしたとき、エラー 150 を参照してエラー 1005 (HY000) が発生します。このエラーはイライラする可能性があり、ルートについて困惑することがあります。 Cause.

FOREIGN KEY 制約に関する MySQL ドキュメントによると、問題は外部キー参照を持つ削除されたテーブルを再作成するときに発生します。テーブルは、列名と型、および参照されるキーのインデックスが一致することにより、外部キー制約に準拠する必要があります。これらの条件が満たされない場合、MySQL はエラー 1005 を返し、その根底にあるエラー 150 が発生します。

このエラーは、「foo」テーブルが InnoDB テーブルとして定義されていないことが原因である可能性があります。 MySQL のドキュメントには、両方のテーブルが InnoDB テーブルであり、一時的ではない必要があると明示的に記載されています。

「foo」テーブル作成クエリを変更して InnoDB エンジンを指定します。

mysql> CREATE TABLE foo(id INT PRIMARY KEY) ENGINE=InnoDB;

外部キーを使用して「bar」テーブルを正常に作成できるはずです。制約、エラー 150.

を解決します。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3