MySQL エラー 1022: 根本原因の解明
テーブルの作成はデータベース設計の基本的な側面ですが、場合によっては予期しないエラーが発生することがあります。このようなエラーの 1 つは、悪名高い MySQL エラー 1022 です。これは、重複キーを持つテーブルを作成しようとするとよく発生します。
最近のケースでは、ユーザーが MySQL Workbench を使用して「errors_reports」テーブルを作成しているときにこのエラーが発生しました。 。テーブルが有効であるように見えたにもかかわらず、MySQL は重複キーの存在を理由に頑固に従うことを拒否しました。
犯罪となるキーを検索
問題のあるキーを視覚的に見つけることができず、ユーザーはテーブル定義の要素を慎重に削除し、最終的に原因を特定しました。それは、「エラー」テーブルを参照する外部キー制約です。
同一の外部キーの奇妙なケース
奇妙なことに、ユーザーは他のテーブルで同一の外部キー定義を問題なく検出していました。ただし、この例では、MySQL は重複を許容することを拒否しました。
競合のマスクを解除する
この複雑なジレンマの解決策は、外部キーの命名規則の概念にあります。結局のところ、外部キーはデータベース内で同じ名前を共有できません。これは、MySQL が外部キー名を利用して参照が指すテーブルと列を決定するためです。複数の外部キーに同じ名前を割り当てると、混乱や曖昧さが生じる可能性があります。
テーブル作成への明確なパス
エラーを解決して「errors_reports」を正常に作成するにはテーブルで、ユーザーが問題のある外部キーの名前を調整しました。外部キー名が一意であることを確認することで、ユーザーは MySQL の命名規則を満たし、テーブル作成を成功させる道を切り開くことができました。
以上が外部キーを含むテーブルを作成すると MySQL エラー 1022 が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。