MySQL エラー 1022: 重複の特定
テーブルの作成時に MySQL エラー 1022 が発生すると、特に SQL ステートメントが有効であると思われる場合、混乱する可能性があります。 。問題を詳しく調べて、根本的な原因を特定しましょう。
提供された SQL では、テーブルに定義されているキーが 1 つだけであると記載されています。ただし、問題は外部キーの定義にあるようです。 MySQL は、テーブル作成中に重複キーを挿入しようとするとエラー 1022 をスローします。
この問題は、外部キー名 (error_id) がモデル内の別の場所にある別の外部キーの名前と同じであるという事実に起因します。これを理解するために、次のシナリオを考えてみましょう。
ここで、両方の外部キーが同じ名前 ("supplier") を持つ場合、MySQL はこれを外部キーの "衝突" として解釈します。キーの名前。この問題を解決するには、各外部キーにスキーマ全体内で一意の名前を付ける必要があります。
たとえば、次のような異なる名前を外部キーに使用できます。
product_supplier 外部キー名を区別することで、MySQL はテーブルの作成時にそれらを区別し、参照整合性を正しく処理できます。 .
以上がMySQL エラー 1022: テーブルの作成時に重複キー エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。