ホームページ >データベース >mysql チュートリアル >MySQL テーブルの作成時に「書き込めません。テーブル内のキーが重複しています」エラー (エラー 1022) が発生するのはなぜですか?
重複が検出されました: MySQL テーブル作成失敗 (エラー 1022)
MySQL Workbench を使用してテーブルを作成しようとすると、ユーザーは恐ろしい問題に遭遇する可能性があります。エラー 1022: 「書き込めません。テーブル内のキーが重複しています。」この問題は、テーブルの作成に使用される一見単純な SQL ステートメントにもかかわらず発生します。詳しく調べると、問題が明らかになります。
犯人: 同一の外部キー名
エラー メッセージは、ファイル内に同一の名前を持つ複数の外部キーが存在することが原因で発生します。同じデータベースモデル。この概念を理解するには、次の例えを考えてください:
この問題は、異なるテーブル内の 2 つの異なる外部キーが親テーブルの同じ列を参照する場合に発生します。従業員が同時に 2 つの部門で働くことができないのと同様に、子テーブルの行に、異なる親テーブルの行を指す複数の外部キーを設定することはできません。
物理的な例
考慮してください。次のデータベース モデル:
両方のテーブルに、「Supplier」テーブルを参照する「supplier_id」という名前の外部キーが含まれている場合、MySQL はエラー 1022 を返します。この問題を解決するには、外部キーに一意の名前を割り当てることが重要です。
名前の競合を解決する
エラーを修正するには、次の手順に従います。
外部キー内の名前の競合に対処することで、目的のテーブルを正常に作成し、「書き込みできません。テーブル内のキーが重複しています」エラー。
以上がMySQL テーブルの作成時に「書き込めません。テーブル内のキーが重複しています」エラー (エラー 1022) が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。