外部キーを含むテーブルを作成すると MySQL エラー 1022 が発生するのはなぜですか?

Susan Sarandon
リリース: 2024-10-28 02:39:02
オリジナル
165 人が閲覧しました

Why Am I Getting MySQL Error 1022 When Creating a Table with Foreign Keys?

MySQL エラー 1022: 根本原因の解明

テーブルの作成はデータベース設計の基本的な側面ですが、場合によっては予期しないエラーが発生することがあります。このようなエラーの 1 つは、悪名高い MySQL エラー 1022 です。これは、重複キーを持つテーブルを作成しようとするとよく発生します。

最近のケースでは、ユーザーが MySQL Workbench を使用して「errors_reports」テーブルを作成しているときにこのエラーが発生しました。 。テーブルが有効であるように見えたにもかかわらず、MySQL は重複キーの存在を理由に頑固に従うことを拒否しました。

犯罪となるキーを検索

問題のあるキーを視覚的に見つけることができず、ユーザーはテーブル定義の要素を慎重に削除し、最終的に原因を特定しました。それは、「エラー」テーブルを参照する外部キー制約です。

同一の外部キーの奇妙なケース

奇妙なことに、ユーザーは他のテーブルで同一の外部キー定義を問題なく検出していました。ただし、この例では、MySQL は重複を許容することを拒否しました。

競合のマスクを解除する

この複雑なジレンマの解決策は、外部キーの命名規則の概念にあります。結局のところ、外部キーはデータベース内で同じ名前を共有できません。これは、MySQL が外部キー名を利用して参照が指すテーブルと列を決定するためです。複数の外部キーに同じ名前を割り当てると、混乱や曖昧さが生じる可能性があります。

テーブル作成への明確なパス

エラーを解決して「errors_reports」を正常に作成するにはテーブルで、ユーザーが問題のある外部キーの名前を調整しました。外部キー名が一意であることを確認することで、ユーザーは MySQL の命名規則を満たし、テーブル作成を成功させる道を切り開くことができました。

以上が外部キーを含むテーブルを作成すると MySQL エラー 1022 が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!